0

我正在尝试使用 TimThumb 在我的博客上显示图像

<?php the_title(); ?>'><img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php echo catch_that_image() ?>&w=290&h=160

以上是我使用的代码

问题是图像不显示,因为 URL 是这样的。

http://myurl.com/wp-content/themes/ThemeName/timthumb.php?src=&w=290&h=160

例如,其中假设是这样的

http://myurl.com/wp-content/themes/ThemeName/timthumb.php?src=http://myurl.com/wp-content/uploads/i0n1c.png&w=290&h=160

如您所见,上面缺少部分src=,缺少的部分是这段<?php echo 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 = "/images/default.jpg";
  }
  return $first_img;
}

这是调用图像 URL 路径的代码。

<?php echo catch_that_image() ?>
4

1 回答 1

3

我已经单独测试了这段代码,它工作得很好

该代码应该输出变量,因此您在另一个上下文中执行此操作,该值已正确设置。

更新:

你检查过生成的源代码吗?你在这里有额外的反引号:

?src='<?php echo $image[0]; ?>'&w=
     _                        _
于 2012-04-19T22:20:27.953 回答