サポート » 使い方全般 » 記事中の画像だけにパーマリンクを貼りたい

  • 解決済 mosomoso

    (@mosomoso)


    どなたかお願いいたします。

    category.phpのそれぞれの記事中の画像にだけ、
    その記事のパーマリンクを貼りたいのです。

    <?php the_content(‘Read more…?’); ?>
    としている部分を、どう変えればよいのでしょうか。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • こんにちは!

    WordPress「アイキャッチ画像」を使うための準備

    上記の記事みたいに、まずはリンクを貼りたい画像を、本文中の挿入する写真とは別に作るのが簡単だと思います。

    アイキャッチ画像を作る→category.phpで呼び出す(その時に、その記事へのパーマリンクへのaタグで囲う+タイトルについているaタグを外す)という風なことでは。

    トピック投稿者 mosomoso

    (@mosomoso)

    はじめまして、こんにちは。
    返信ありがとうございます。

    すみません、できるだけ「アイキャッチ画像」等で別に作るのでなく、
    記事そのままの画像でリンクを貼りたいのです。

    色々検索して今このような状態なのですが

    <?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;
    ?>

    こんなのでどうでしょうか

    トピック投稿者 mosomoso

    (@mosomoso)

    お二方、ご返信ありがとうございます!

    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;
    ?>

    で希望通りの動作にすることができました。

    本当にありがとうございました!

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「記事中の画像だけにパーマリンクを貼りたい」には新たに返信することはできません。