找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
积分等级发帖收益的说明江阴论坛帮助汇总江阴论坛管理规则(必看)江阴论坛版主招聘中江阴论坛已运行
查看: 1869|回复: 0

[WordPress] WordPress显示日志里第一张图片

[复制链接]
发表于 2009-11-11 09:36:33 | 显示全部楼层 |阅读模式
方法一、
1. 将以下这段代码添加到主题functions.php文件内:
  1. function catch_that_image() {
  2.   global $post, $posts;
  3.   $first_img = '';
  4.   ob_start();
  5.   ob_end_clean();
  6.   $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  7.   $first_img = $matches [1] [0];

  8.       if(empty($first_img)){ //Defines a default image
  9.         $first_img = "/images/default.jpg";
  10.       }
  11.       return $first_img;
  12.     }
复制代码
代码解释:post内如果有图片则显示图片,如果没有图片则显示默认图片
2.在loop内调用:
  1. <?php echo catch_that_image() ?>
复制代码
方法二、
利用一个简单的正则表达式实现,用在CMS主题上,为每一篇文章添加一张缩略图。
  1. <?php
  2. $szPostContent = $post->post_content;
  3. $szSearchPattern = '~<img [^\>]*\ />~'; // 搜索所有符合的图片
  4. preg_match_all( $szSearchPattern, $szPostContent, $aPics );
  5. $iNumberOfPics = count($aPics[0]); // 检查一下至少有一张图片
  6. if ( $iNumberOfPics > 0 ) {
  7. echo '<div align="center">'.$aPics[0][0].'</div>';
  8. };
  9. ?>
复制代码
以上这段代码仅显示内容中的第一张图片,如需显示更多,可修改下:
  1. if ( $iNumberOfPics > 0 ) {
  2. echo '<div align="center">'.$aPics[0][0].'</div>';
  3. };
复制代码
显示第二张:
echo '<div align="center">'.$aPics[0][1].'</div>';
显示第三章
  1. echo '<div align="center">'.$aPics[0][2].'</div>';
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|江阴人家

GMT+8, 2024-12-28 21:15 , Processed in 0.035001 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表