WordPress如何获取文章里面全部图片或者前几张图片

稍微折腾下,就解决了这个有点难度的问题…… 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,循环这些什么的,都还得翻度娘……  纠结……

原文转载:http://www.newsky365.com/wpimgall/

转载于:https://my.oschina.net/u/1018850/blog/167045

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值