稍微折腾下,就解决了这个有点难度的问题…… wp可以获取文章的第一张图片作为封面,或者特色图片,也有人解决了,获取文章里面所有的图片来制作帖内幻灯片……
最近在做站的时候,刚好碰到了这个问题,我既要获取文章里面的图片,也不想获取完所有的图片……
这可怎么办?
先附上获取文章里面所有图片的代码(写在functions.php里面)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function all_img ( $ soContent ) { $ soImages = '~<img [^\>]*\ />~' ; preg_match_all ( $ soImages , $ soContent , $ thePics ) ; $ allPics = count ( $ thePics ) ; if ( $ allPics > 0 ) { foreach ( $ thePics [ 0 ] as $ v ) { echo $ v ; } } else { echo "<img src='" ; echo bloginfo ( 'template_url' ) ; echo "/images/thumb.gif'>" ; } } |
注意上面的判断循环…… 先判断文章里面是否有图片,有的话就循环输出所有图片,没有的话,指定一个默认的图片来代替;
我的解决思路是,如果我要获取前3张图片,我可以先加入一个自定义变量,赋予1的值,每次循环判断+1;到第4次循环便可停止不在输出,而后跳出循环……
我的解决代码(也不知道是不是复制完整了,有没有多了一个”(”或者”)”;)
需要童鞋自行检查检查了……
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | function all_img ( $ soContent ) { $ soImages = '~<img [^\>]*\ />~' ; preg_match_all ( $ soImages , $ soContent , $ thePics ) ; $ allPics = count ( $ thePics ) ; if ( $ allPics > 0 ) { $ count = 1 ; //赋予1的值 foreach ( $ thePics [ 0 ] as $ v ) { if ( $ count == 4 ) { break ; } //当count等于4的时候跳出循环 else { echo $ v ; } $ count ++ ; //循环+1 } } else { echo "<img src='" ; echo bloginfo ( 'template_url' ) ; echo "/images/thumb.gif'>" ; } } |
自此完毕,没学过php,循环这些什么的,都还得翻度娘…… 纠结……
原文转载: