関連記事を手動指定する WordPressプラグイン『Custom Related Posts』でアイキャッチ画像を表示するカスタム

カテゴリー: スニペット,

精度の高い関連記事が好きです。特定キーワードで検索かけて関連記事を指定&相互状態になる、という形がベストで、これが可能なプラグインとしてRelated Posts for WordPress(Microkid’s Related Posts)を利用していたのですが、最終更新が6年前と将来性がないため乗り換えてみました。

関連記事を指定・表示するプラグイン『Custom Related Posts』

Custom Related Posts | WordPress.org

詳細はこちらで知りました。
手動で関連記事を挿入・自動相互リンクも可能な『Custom Related Posts』 |WordPressでWEB小説

関連記事が相互状態だけでなく、「元記事からのみ関連として表示」や「元記事には関連として表示されないが、向こうの記事からは関連として表示される」という特殊な関連を指定することができるようです。

関連記事を表示するショートコード

これはきっと single.php に記載することになるでしょう。

並び替えには date と title の2種類があるようです。
並び替えの order by は指定がなければ ASC。

<?php echo do_shortcode('[custom-related-posts title="関連記事" order_by="date" order="DESC" none_text="関連記事は未設定です"]'); ?>

※ 上記は本文でショードコードを実行させないため、&#091を「[」に、&#093を「]」で記載しています。

アイキャッチ画像を表示するカスタム

function.php などに記載。

// プラグイン: Custom Related Posts
// 関連記事の表示をカスタムします
function crp_custom_output( $output, $post_id, $relation ) {

    if ( isset( $relation['id'] ) ) {

        // アイキャッチ画像が指定されていない場合のノーフォト画像アドレス
        $no_thumbnail_src = get_bloginfo( 'stylesheet_directory' ) . '/images/thumbnail-default.jpg">';

        if ( has_post_thumbnail( $relation['id'] ) ) {
            $thumbnail_id = get_post_thumbnail_id($relation['id']);
            $thumbnail_src_arr = wp_get_attachment_image_src( $thumbnail_id, 'thumbnail' );
            $thumbnail_src = $thumbnail_src_arr[0];
        } else {
            $thumbnail_src = $no_thumbnail_src;
        }
        $html = $html.'<li><a href="'. $relation['permalink'].'">'
                .'<img src="'.$thumbnail_src.'" alt="">'
                .'<span>'.mysql2date('Y年n月j日', $relation['date']).'</span><br>'
                .$relation['title'].'</a></li>';
    }
    return $html;
}
add_filter( 'crp_output_list_item', 'crp_custom_output', 10, 3 );

あまり必要ないかもしれませんが、日付も表示してみました。
アイキャッチ画像が無い場合のノーフォト画像を準備するかどうかはお好みで。

参考URL

Topic: feature request: custom field support | WordPress.org


関連記事

関連記事はまだありません

スニペット」のBookmark
「スニペット」記事一覧