ワードプレスのアイキャッチ画像を自動で全てリンクするようにする


ワードプレスのアイキャッチ画像がアーカイブなどで出力されるときにワードプレスのフィルター機能を使い、リンクえおつけることができます。
下記のコードをテーマのFunctions.phpに追加されてみてください。
※一部特殊な構造のテーマでは動作しませんのでご注意ください。

function myautolink_featured_image( $html, $post_id, $post_image_id ) {
    if (! is_singular()) { 
        $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
        return $html;
    } else { 
        return $html;
    }
}
add_filter( 'post_thumbnail_html', 'myautolink_featured_image', 10, 3 );

このコードはpost_thumbnail_htmlにてアイキャッチ画像が出力される前に、そのコードを取得して、
get_permalink( $post_id )の部分で含まれている投稿のリンクを付与します。

一応if (! is_singular()) {  の場合分けによって単体コンテンツページではリンクを付与していませんのでもし単体ページでもアイキャッチ画像にリンクをつけられたい場合は

function myautolink_featured_image( $html, $post_id, $post_image_id ) {
    $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
    return $html;
}
add_filter( 'post_thumbnail_html', 'myautolink_featured_image', 10, 3 );

のようにされてくださいませ。

WordPress ワードプレスドクターワードプレスのテーマのカスタマイズ、復旧・エラー修正などのご相談ご依頼はお気軽にワードプレスドクターにお送りください