サポート » 使い方全般 » トップページのアイキャッチ画像に任意のリンクを付けたい

  • 解決済 gjk8r9sdi3

    (@gjk8r9sdi3)


    はじめまして。トップページに記事のアイキャッチ画像があるのですが、その画像に任意のリンクを付けたいのですがやり方がわかりませんでした。通常アイキャッチ画像をクリックすると記事個別ページに行きますが、それを任意のリンク先に変更と言う感じです。よろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • 時間が経っているので解決済みかもしれませんが、
    アイキャッチをthe_post_thumbnail()で呼び出すのではなくget_the_post_thumbnailなどで呼び出し、前後の<a>タグを書き換えてあげれば解決するかと思います。

    トピック投稿者 gjk8r9sdi3

    (@gjk8r9sdi3)

    EisukeAkimotoさんご返信ありがとうございます。
    index.phpという所に「the_post_thumbnail」があったのですが、これを「get_the_post_thumbnail」に書き換えればよろしいのでしょうか。

    すみません。ど勘違いをしておりました。
    前回の返信は忘れてください。

    the_post_thumbnail()は、現在投表示している投稿のアイキャッチを呼び出すテンプレートタグですので、その前後にある<a href="<?php the_permalink(); ?>"></a>等のリンク先を書き換えてあげてください。

    get_the_post_thumbnail()は「指定した投稿のアイキャッチを取得するテンプレートタグ」ですので、こちらでなくとも希望の動きにはなると思います。

    トピック投稿者 gjk8r9sdi3

    (@gjk8r9sdi3)

    EisukeAkimotoさんご返信ありがとうございます。
    説明不足で申し訳ありません。1つのリンク先ではなく、記事ごとに別々のリンク先を指定したいと思っております。ワードプレスははじめてで、自分なりに色々勉強しているのですが見当違いな質問だったら申し訳ありません。

    記事ごとに別々のリンク先を指定したい

    というのは、例えば「画像」と「記事タイトル」があったとするならば、テキストタイトルは記事へのリンクだとして画像を別のリンク先とし、更に記事単位でそれぞれも同様にリンクを分けていく、ということではなくてですか?

    また、次のご返信にループ文codeで貼り付けてみてください。

    トピック投稿者 gjk8r9sdi3

    (@gjk8r9sdi3)

    ご返信ありがとうございます。おっしゃるとおり、テキストは記事個別へ、アイキャッチを記事単位で任意のリンク先を指定したいと思っております。ループ文codeというのが理解していないのですが下記でよろしいのでしょうか。よろしくお願いします。

    <!– アイキャッチ画像 –>

    <a href="<?php the_permalink() ?>">
    <?php
    if ( has_post_thumbnail() ) the_post_thumbnail(array(170,170));
    else echo '<img src="'.get_bloginfo("template_url").'/images/dot.gif" width="170" height="170" />';
    ?>
    </a>

    <!– / アイキャッチ画像 –>`

    であれば、投稿画面で「カスタムフィールド」を使用するのが一番簡単です。

    投稿画面にて、タイトルと本文入力画面の下に“カスタムフィールド”という入力欄はありませんか?もし無ければ、画面上部の「表示オプション」タブの中の“カスタムフィールド”のチェックが外れていると思うので、チェックを入れ有効化します。

    後に、本文入力欄下部のカスタムフィールドの名前の欄に例えば“imgurl”とでもいれて、の部分に画像のリンク先としたいURLを入力します。

    そしてテンプレートのコードは

    <a href="<?php echo get_post_meta($post->ID, 'imgurl', true); ?>">
      <?php
        if ( has_post_thumbnail() ):
          the_post_thumbnail(array(170,170));
        else:
          echo '<img src="'.get_bloginfo("template_url").'/images/dot.gif" width="170" height="170" />';
        endif;
      ?>
    </a>

    検証はしていませんが、上記で実現可能かと思います。

    書き換えたget_post_meta()に関しての詳細はこちらをご覧ください。

    もっと分かりやすく直感的に管理画面の実装をする必要がある場合はCustom Field TemplateAdvanced Custom Fieldsの導入を検討してみてください。

    トピック投稿者 gjk8r9sdi3

    (@gjk8r9sdi3)

    EisukeAkimotoさんありがとうございます!教えていただいた通りやりましたらできました!遅い時間にもかかわらず何度もご丁寧に回答していただいて本当にありがとうございます。大変勉強になりました。ありがとうございました。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「トップページのアイキャッチ画像に任意のリンクを付けたい」には新たに返信することはできません。