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() ?>