WordPressの固定ページでカスタムフィールドを使って関連記事を表示させる方法

久々のWordPressネタです。

WordPressには通常の投稿ページ以外に、固定ページというのがあるのですが、この固定ページの親子関係を使うとブログ形式ではなく通常のサイト形式のサイトを作ることができます

今日は固定ページの子ページにカスタムフィールドを使って関連記事を表示させる方法の覚書です。

スポンサードリンク

カスタムフィールドを使って関連ページを表示させる

固定ページでは通常のタグを使う事もできます。

始めはタグを使って関連ページを表示させようと思っていたのですが、何故かこのコードで固定ページに表示させることができず(^^ゞ

(参考:プラグインを使わずWordPressに9の機能をつける | Webクリエイターボックス

いろいろと考えてみて、カスタムフィールドを使って同じカスタムフィールドの値がある固定記事(子ページ)を表示させることにしました。

2014-06-20_10h11_18

固定ページのカスタムフィールドでまず、「relation」という名前でタグのような役割をするmeta_keyを作りました。

値(meta_value)が複数ある場合は、その分だけ同じ名前のカスタムフィールドを作ります。

後は下記のコードを固定ページの子ページテンプレートに貼り付けます。

<h3>関連記事</h3>
<?php $rla_values = get_post_meta( get_the_ID(), 'relation', false ); ?>

<?php
$child_posts= get_posts(array(
	'post_type' => page,
	'meta_value' => $rla_values,
	'numberposts' => 10,
	'exclude' => get_the_ID()
     ));

if ( $child_posts ) {
		foreach ( $child_posts as $child ) {
			$c_title = apply_filters( 'the_title', $child->post_title );
			$child_excerpt = apply_filters( ‘the_excerpt’, $child->post_excerpt );
?>
	<div class="child_page_excerpt">
		<h4><?php echo $c_title; ?></h4>
		<p><?php echo $child_excerpt; ?></p>

	</div>
<?php
		}
	}

?>

これでカスタムフィールドで同じ値がある関連記事のみ表示されるようになるはずです。

参考サイト:
WordPress › フォーラム » 親ページに属する全子ページのタイトルと本文とmoraを表示
get_post_meta()の値が複数ある場合 | くまみむめも

もっとスマートな方法があるんだろうけれど、目的は達成したということでよしとしておきます(^^ゞ

他にもやり方があるよーという情報もお待ちしています!

追記:関連記事のリンクを表示させたい時

追加↓
$c_permalink = apply_filters( 'the_permalink', get_permalink( $child->ID ) );
変更↓
<h4><a href="<?php echo $c_permalink; ?>"><?php echo $c_title; ?></a></h4>

関連記事リスト

taxonomy-term.phpで特定の親(固定ページ)をもつ子ページだけ表示させる方法
taxonomy-term.phpに特定の親ページをもつ子ページを表示...

2012-08-07_16h02_13

カテゴリごとに異なる画像やテキストを表示させるWordPressプラグイン(Category Meta plugin)
カテゴリページごとに違う画像やテキストを挿入したい場合に使えるプラグイ...

2012-12-10_13h59_50

WordPressで特定のカテゴリ(タグ)記事だけを表示させる方法
WordPressで特定のカテゴリやタグ内の記事を表示させる方法。アイ...

WordPress親固定ページで子ページの記事一覧を表示させる方法
サイト型アフィリエイトサイトを作る時に便利なのが固定ページの利用です。...

2013-01-09_10h02_32

【覚書】WPの固定ページを使ってサイトを作る
WordPressの固定ページを使ってブログではなく、サイトのように使...

2012-07-06_12h28_56

WordPressにソーシャルボタンを設置するプラグイン「WP Social Bookmarking Light」
WordPressにソーシャルボタンを設置するプラグイン「WP Soc...

WordPress関連のコンテンツ移転
WordPressのカスタマイズ関連の情報がこれから多くなりそうなので...

2012-08-09_10h17_36

WordPressのバックアップ・プラグイン「BackWPup」でサイト全体を保存する
WordPressのバックアップ・プラグイン「BackWPup」でサイ...

2013-01-31_11h24_36

カスタム投稿タイプを使ってカメラ専用のページを作る②
カスタム投稿タイプで専用ページを作る方法②です。今回はテンプレートの作...

2012-07-28_20h52_48

コメントスパム対策プラグインAkismetのAPIキー(無料)を取得する方法
コメントスパム対策プラグインAkismetのAPIキー(無料)を取得す...

“WordPressの固定ページでカスタムフィールドを使って関連記事を表示させる方法” への2件のフィードバック

  1. 佐々木 より:

    はじめまして、こちらの記事を参考にさせてもらい関連記事が表示されるようになったのですが、表示されたタイトルにリンクが付かないのですが、どうしたらリンク付きで表示できるでしょうか?
    教えてください。お手数をお掛けして恐縮ですが、宜しくお願いします。

    • Haru より:

      子ページの関連パーマリンクを表示させるコードを追記しました。
      参考になさってください。

コメントを残す

このページの先頭へ