WordPress调用文章的全部图片

GavinWu 2021年01月01日 Wordpress 332 次阅读


有时需要调用文章的几个或者全部图片,如何实现呢,简单介绍几种方法,都在主题的function.php里扔下述代码。

1、输出img代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//调用文章的全部图片
function all_img($content){
   $pattern = '/<img[^>]*src="([^"]+)"[^>]*\/?>/si';
   $matches = array();
   if (preg_match_all($pattern, $content, $matches)) {
       // 注意,$matches[1]中才是图片地址,可以自己打印看看
       // 如果图片小于1,则不显示缩略图
       if (count($matches[1] > 1)) {
           // 显示4张图片
           foreach ($matches[1] as $index => $imgUrl) {

               echo "<img src='";
               echo $imgUrl; // 显示图片
               echo "' alt=".get_the_title()." width='23%' height='auto'/>";
               // $index为3的时候已经是第四张了($index从0开始的)
               if ($index >= 3) {
                   break;
               }
           }
       }
   } else {
       // 没有图片了
       echo "";
   }
}

调用代码

1
<?php all_img(); ?>

HTML样式为:

1
[img src="http://XXX.COM/XX/XX.PNG" alt="" width="" height="">

2、直接输出图片地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//WordPress调用多张文章图片缩略图
function preview_img($soContent) {
    $soImages = '~<img [^\>]*\ />~';
    preg_match_all( $soImages, $soContent, $thePics );
    $allPics = count($thePics);
    if( $allPics > 0 ) {
        $count=0;
        foreach($thePics[0] as $v) {
            if( $count == 5 ) {break;} //图片数量,自行调整
            else { echo '<span class="preview-img">',$v,'</span>'; }
            $count++;
        }
    }
}

调用代码

1
<?php preview_img(); ?>

HTML样式为:

1
http://XXX.COM/XX/XX.PNG

根据个人需求选择。

  • 分享到:

发表评论