WordPress 调用文章第一张图片

WordPress 调用文章第一张图片

WordPress 主题 制作中,通过在主题函数 function.php 文件中添加函数 catch_that_image() 来获取文章中的第一章图片,利用 preg_match_all 对 img标签进行匹配,如果不存在这输出默认图。

1. 首先在 function.php 中新增函数 catch_that_image

function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];
  if(empty($first_img)){ //Defines a default image
    $first_img = "http://yourwebsite/default.jpg";
  }
  return $first_img;
}

参考函数二:

function catch_the_image( $id ) {
  // global $post, $posts;
  $first_img = '';
  // 如果设置了缩略图
  $post_thumbnail_id = get_post_thumbnail_id( $id );
  if ( $post_thumbnail_id ) {
    $output = wp_get_attachment_image_src( $post_thumbnail_id, 'large' );
    $first_img = $output[0];
  }
  else { // 没有缩略图,查找文章中的第一幅图片
    ob_start();
    ob_end_clean();
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
    $first_img = $matches [1] [0];
    if(empty($first_img)){ // 既没有缩略图,文中也没有图,设置一幅默认的图片
      $first_img = "http://yourdomain.tld/images/default.jpg";
    }
  }
  return $first_img;
}

2. 在页面需要的地方增加如下标签代码

<img src="<?php echo catch_that_image() ?>" alt="" />

 



Delphi小叮当的淘宝店铺

指尖网络全面实现网站与淘宝店铺相连接,完成了在线支付的接口;全站交易全面支持淘宝交易,率先支持先测试后付费
软件/网站拍之前请先咨询客服,索要测试版本之后再拍下宝贝
Delphi小叮当竭诚为您提供最优质的服务
iamhack.taobao.com