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 に答える