以前にSmart Custom Fieldsでも紹介した、投稿に関連する記事を表示する例を、今度はWordPressのカスタムフィールド作成・管理プラグイン「Custom Field Suite」を使って紹介します。どちらも素晴らしいプラグインなので、用途に応じて使い分けるとよいかもしれません。
以前同様にAmazonや楽天の商品ページで表示される関連商品やオススメ商品のイメージです。
関連記事を登録するカスタムフィールドの作成
WordPress管理画面のCustom Field Suiteから、関連記事を登録するカスタムフィールドを新規作成します。フィールドタイプは「関連ポスト選択」」(フィールド名は’relation_item’としました)。
投稿タイプは表示したいもの選びましょう。shiftキーを押しながら選択すると複数選べます。
これで投稿編集画面で関連記事を登録するカスタムフィールドが表示されます。
関連記事を投稿ページに出力
関連記事を出力したいテンプレートファイルにPHPを記述します。
テーマファイル(single.phpなど)
まずCFS()->get()で、’relation_item’に値が入っているかチェックしています。
カスタムフィールドに値が入っている場合、関連記事を表示する処理を行います。
/* カスタムフィールドに値があるかチェック */
$relation_item = CFS()->get( 'relation_item' );
/* カスタムフィールドに値がある場合、関連記事表示の処理を行う */
if( !empty( $relation_item ) ) {
echo '<h2>リレーション(Custom Field Suite版)</h2>';
/* 関連記事を表示するラッパー */
$output_relation_items = '<ul class="relation-items">';
/* 取得した値をループ */
foreach( $relation_item as $post ) {
/* CFSの関連ポスト選択には、投稿IDが入っています。 */
/* テンプレートタグを使いたいので、その投稿IDをグローバル変数へセット */
setup_postdata( $post );
/* 投稿IDから取得した関連記事情報を出力用の変数へ代入 */
$output_relation_items .= '<li id="post-'.get_the_ID().'"><a href="'.esc_url( get_the_permalink() ).'">'.get_the_title().'</a></li>';
}
/* ラッパーを閉じます */
$output_relation_items .= '</ul>';
/* 関連記事を出力 */
echo $output_relation_items;
/* メインクエリのグローバル変数を復元 */
wp_reset_postdata();
}
コメントを残す