最新消息:Excel无乱码转CSV,由于工作原因很少更新博客和回复大家的评论,非常抱歉。

wordpress获取文章图片及路径

在用wordpress做一些CMS性质的模板的时候,有些栏目需要调用文章里面的图片,该怎么修改才能获取wordpress文章里面的图片内,其他的就不多说了,就直接上代码了。

<?php
//从文章中搜索图片并获取图片
$SoImages  = ‘~<img [^\>]*\ />~’;
preg_match_all($SoImages,$post->post_content,$Images);
$PictureAmount=count($Images[0]); //获取图片数量

//处理所有的图片
for($i=0;$i<$PictureAmount;$i++){
echo $Images[0][$i]  //处理图片,语句可以自定义,第一张图片为$Images[0][0];
}

//通过使用switch控制语句处理第一张图片,也可以使用if…else…elseif语句来实现,具体逻辑请自定义
switch($PictureAmount>0){
case 1:
echo $Images[0][0]; //输出第一张图片
break;
default:
$ImagesUrl=bloginfo(‘stylesheet_directory’).”/images/1.jpg”; //当文章无图片时默认输出的图片
}

/*获得文章中的图片链接路径的代码
*首先使用上面第一段的语句从文章搜索并获取图片
*然后通过运行正则表达式来分析图片代码,然后得到匹配的字符
*以下只列出其中的一种正则表达式代码,有兴趣的童鞋可以自己编写
*/

//获取一张图片,例如获取第一张图片$Images[0][0],其代码样例为:<img alt=”Google” title=”Google” id=”logo” src=”/intl/zh-CN/images/logo_cn.gif” width=”276″ height=”110″ border=”0″  />
$ImgUrl = $Images[0][0];
$SoImgAddress=”/\<img.*?src\=\”(.*?)\”[^>]*>/i”;  //正则表达式语句
preg_match($SoImgAddress,$ImgUrl,$imagesurl);  //分析
echo $imagesurl[1]; //得到并处理路径:/intl/zh-CN/images/logo_cn.gif
?>

代码的注释写的已经比较详细了,稍微有点编程基础的朋友都能看懂,如果还有看不懂的朋友可以在下方评论处提出。

转载请注明:嗨酷哥,有你更酷! » wordpress获取文章图片及路径

与本文相关文章

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项

网友评论9条  本站回复2

  1. 请教一下,循环输出所以地址怎么弄呢?用div url1 div url2 标签把地址输出怎么弄?谢谢

    helsing2015-06-09 19:48 回复
  2. 如何获取该缩略图对应的大图,用正则吗

    前端组2012-11-22 14:40 回复
  3. 为什么 好使啊,求快速回复!

    wp爱好者2012-08-15 16:50 回复
  4. 那个所有图片的链接怎么写,也是要循环的!越快越好回复

    WP梦想都2012-08-14 13:48 回复
  5. 我一放入去就報錯了 請問還需要別的設定嗎?

    George2012-08-11 13:27 回复
  6. 如果,我想要获取完所有文章的图片,然后在一个新页面 循环输出这些图片应该怎么做
    求速答!!

    Ameng2012-07-30 14:19 回复
    • 循环文章记录,然后对内容里的图片进行提取。

      hicoogle2012-07-30 20:31 回复
  7. 在设置 – 媒体 里,文件默认上传路径为wp-content/uploads,就是我写文章的时候上传的图片路径是这个,我看他们图片路径都不是这个默认路径,后台设置这里是怎么修改的,比如要设置成上传后自动在根目录下的uploads文件夹里,那么“默认上传路径”和“文件的完整 URL 地址”怎么填?
    另外,你们是不是用了ckeditor文章编辑器插件,我写文章没有可视化编辑,比如你们在文章里插入的代码讲解,是和普通文字不一样的另外的效果呈现的

    z2012-07-21 19:54 回复
  8. 学一个。。。。

    沁园春2012-07-06 15:14 回复
  9. 为你这句话 我留言了

    Jessy2012-06-18 10:59 回复