wordpress 获取文章内所有图片个数与图片地址例子
发布:smiling 来源: PHP粉丝网 添加日期:2015-10-16 11:03:19 浏览: 评论:0
wordpress 获取文章内所有图片个数与图片地址的相关文章以前小编有介绍过了,今天看到两个优化比较好的代码我给各位整理一下吧。
WordPress获取文章中的图片个数
复制以下代码到当前使用主题的functions.php文件中,然后在文章列表主循环或文章页中调用该函数即可。
注:xiu主题已有该功能。
WordPress获取文章中的图片个数函数:
- /*
- * 获取文章中的图片个数 (使用在文章列表主循环中、或文章页中)
- */
- if( !function_exists('get_post_images_number') ){
- function get_post_images_number(){
- global $post;
- $content = $post->post_content;
- preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $result, PREG_PATTERN_ORDER);
- return count($result[1]); //phpfensi.com
- }
- }
函数使用方法:
<?php echo get_post_images_number().'张图片' ?>
wordpress 获取文章内所有图片,将代码插入functions.php:
- function hui_get_thumbnail( $single=true, $must=true ) {
- global $post;
- $html = '';
- if ( has_post_thumbnail() ) {
- $domsxe = simplexml_load_string(get_the_post_thumbnail());
- $src = $domsxe->attributes()->src;
- $src_array = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), 'thumbnail');
- $html = sprintf('<li><img src="%s" /></li>', $src_array[0]);
- } else {
- $content = $post->post_content;
- preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
- $images = $strResult[1];
- $counter = count($strResult[1]);
- $i = 0;
- foreach($images as $src){
- $i++;
- $src2 = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), 'thumbnail');
- $src2 = $src2[0];
- if( !$src2 && true ){
- $src = $src;
- }else{
- $src = $src2;
- }
- $item = sprintf('<li><img src="%s" /></li>', $src);
- if( $single){
- return $item;
- break;
- }
- $html .= $item;
- if(
- ($counter >= 4 && $counter < 8 && $i >= 4) ||
- ($counter >= 8 && $i >= 8) ||
- ($counter > 0 && $counter < 4 && $i >= $counter)
- ){
- break;
- }
- }
- }
- return $html;
- }
- function hui_get_attachment_id_from_src ($link) {
- global $wpdb;
- $link = preg_replace('/-\d+x\d+(?=\.(jpg|jpeg|png|gif)$)/i', '', $link);
- return $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE guid='$link'");
- }
以上代码规则可根据自己实际要求来修改,前端调用:
<?php echo hui_get_thumbnail(false,true);?>
Tags: wordpress图片例子 wordpress地址
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)