0

我正在尝试在主博客页面上检索并显示帖子的第一张图片......但唯一显示的是该图片的链接,而不是图片本身!不知道怎么回事!...

这是用于尝试此操作的代码。

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 = "";
  }

  return $first_img;
}

感谢您的帮助......这是有问题的页面的链接:http ://wordpress-dev.designer17.com/blog/ (底部帖子)

4

2 回答 2

2

获得图像 url 后,只要您只是打算直接从该函数显示图像,您就可以简单地在 src 中返回带有 url 的 img html 标记:

return '<img src="' . $first_img . '">';
于 2013-06-18T23:44:36.990 回答
0

我使用了获取第一张图像的解决方案,它在我的本地主机上运行良好,但是当我将它复制到我的实时主机时,它失败并出现下标错误。因此,我将其修改为以下有效。

function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  if (preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches) == 0) {
    //Define a default image
    $first_img = get_stylesheet_directory_uri() . "/images/default-image.jpg";   
  } else {
    $first_img = $matches [1] [0];
  }
  return $first_img;
}
于 2013-09-12T10:54:50.427 回答