获取wordpress文章中所有的图片及图片数量

图片数量与图片显示是很必要的,通过文章列表中就可以显示出图片的数量于数量样式很提升用户体验及诉求,那我们怎样在一款主题上实现这样的功能呢,下面大挖给大家介绍下调用wordpress文章所有图片及文章所有图片数量的方法

wordpress主题获取文章中的所有图片

  1. function hui_get_thumbnail( $single=true, $must=true ) {
  2.     global $post;
  3.     $html = '';
  4.     if ( has_post_thumbnail() ) {
  5.         $domsxe = simplexml_load_string(get_the_post_thumbnail());
  6.         $src = $domsxe->attributes()->src;
  7.         $src_array = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), 'thumbnail');
  8.         $html = sprintf('<li><img src="%s" /></li>', $src_array[0]);
  9.     } else {
  10.         $content = $post->post_content;
  11.         preg_match_all('/<img.*?(?: |\t|\r|\n)?src=['"]?(.+?)['"]?(?:(?: |\t|\r|\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
  12.         $images = $strResult[1];
  13.         $counter = count($strResult[1]);
  14.         $i = 0;
  15.         foreach($images as $src){
  16.             $i++;
  17.             $src2 = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), 'thumbnail');
  18.             $src2 = $src2[0];
  19.             if( !$src2 && true ){
  20.                 $src = $src;
  21.             }else{
  22.                 $src = $src2;
  23.             }
  24.             $item = sprintf('<li><img src="%s" /></li>', $src);
  25.             if( $single){
  26.                 return $item;
  27.                 break;
  28.             }
  29.             $html .= $item;
  30.             if(
  31.                 ($counter >= 4 && $counter < 8 && $i >= 4) ||
  32.                 ($counter >= 8 && $i >= 8) ||
  33.                 ($counter > 0 && $counter < 4 && $i >= $counter)
  34.             ){
  35.                 break;
  36.             }
  37.         }
  38.     }
  39.     return $html;
  40. }
  41. function hui_get_attachment_id_from_src ($link) {
  42.     global $wpdb;
  43.     $link = preg_replace('/-d+xd+(?=.(jpg|jpeg|png|gif)$)/i', '', $link);
  44.     return $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE guid='$link'");
  45. }

wordpress主题前台调用代码放在需要显示的位置上

  1. <!--?php echo hui_get_thumbnail(false,true);?-->

获取wordpress文章内容中的图片数量值

  1. if( !function_exists('get_post_images_number') ){  
  2.     function get_post_images_number(){  
  3.         global $post;  
  4.         $content = $post->post_content;    
  5.         preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $result, PREG_PATTERN_ORDER);    
  6.         return count($result[1]);    
  7.     }  
  8. }

wordpress前台显示代码

  1. <!--?php echo get_post_images_number().'张图片' ?-->
话题:
No Tag

相关推荐

按月份调用阅读数最多的文章

第一步:为wordpress主题的文章添加记录浏览量功能 如何记录wordpress文章的用户浏览量,这个在我们发表的前面的文章中就已经介绍过了。这里,再把它贴出来: //访问计数:必须 启用 wp_head(……