カテゴリー: スニペット,
精度の高い関連記事が好きです。特定キーワードで検索かけて関連記事を指定&相互状態になる、という形がベストで、これが可能なプラグインとしてRelated Posts for WordPress(Microkid’s Related Posts)を利用していたのですが、最終更新が6年前と将来性がないため乗り換えてみました。
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="関連記事は未設定です"]'); ?>
※ 上記は本文でショードコードを実行させないため、[を「[」に、]を「]」で記載しています。
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 );
あまり必要ないかもしれませんが、日付も表示してみました。
アイキャッチ画像が無い場合のノーフォト画像を準備するかどうかはお好みで。
Topic: feature request: custom field support | WordPress.org
関連記事はまだありません