こんにちは!
WordPress「アイキャッチ画像」を使うための準備
上記の記事みたいに、まずはリンクを貼りたい画像を、本文中の挿入する写真とは別に作るのが簡単だと思います。
アイキャッチ画像を作る→category.phpで呼び出す(その時に、その記事へのパーマリンクへのaタグで囲う+タイトルについているaタグを外す)という風なことでは。
はじめまして、こんにちは。
返信ありがとうございます。
すみません、できるだけ「アイキャッチ画像」等で別に作るのでなく、
記事そのままの画像でリンクを貼りたいのです。
色々検索して今このような状態なのですが
<?php
$cnt = get_the_content();
$target_images = preg_split("/<img(.+?)>/", $cnt, null, PREG_SPLIT_DELIM_CAPTURE);
$link = get_permalink();
for($k = 1; $k < count($target_images); $k++){
$target_images[$k] = '<a href='.$link.'>'.'<img '.$target_images[$k].'</a>';}
$str = implode($target_images);
?>
<?php print($str); ?>
これだと、画像だけでなく文字部分にもリンクタグがついてしまいます。
助言いただけると幸いです。
http://www.instantshift.com/2009/06/15/22-mixed-quality-wordpress-hacks/
上記のサイトの7番目に書かれたAutomatically Retrieve The First Image From Posts On Your Home Pageというのはどうでしょうか?
記事の中から画像を取り出す形ではなく、本文中に画像が表示されている形がいいのでしたらダメそうですが。。
<?php
$cnt = get_the_content();
$link = get_permalink();
$cnt = apply_filters('the_content',preg_replace('/<a (.+)"><img (.+) src="(.+)" (.+)\/><\/a>/','<a href="'.$link.'"><img \2 src="\3" \4/></a>', $cnt));
echo $cnt;
?>
こんなのでどうでしょうか
お二方、ご返信ありがとうございます!
jdbbさまのコードでそのままだと反映できなかったので、
少しいじって
<?php
$cnt = get_the_content();
$link = get_permalink();
$cnt = apply_filters('the_content',preg_replace('/<img (.+) src="(.+)" (.+)\/>/','<a href="'.$link.'"><img src="\2 \3/></a>', $cnt));
echo $cnt;
?>
で希望通りの動作にすることができました。
本当にありがとうございました!