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>

関連記事リスト

Googleアドセンス収益アップセミナーに参加して改善したこと。
大阪Googleアドセンス収益アップセミナーに参加してWordPres...

サイトの読み込みページを早くするWordPressプラグイン「Quick Cache」
Googleのスコアカードでサイトの状況の「ページ読み込み時間のパフォ...

WordPressを導入したら始めに入れたい、おすすめプラグイン5個
WordPressを導入したら始めに入れたい、おすすめプラグイン5個に...

キャッシュプラグインを入れてもサイト表示が遅い!を解決する方法
キャッシュプラグインを入れてもまだサイト表示が遅いので、DBをキャッシ...

WordPressで精度の高い関連記事を表示させるプラグインYARPPの設定方法
ブログの記事が増えてきたらPVを増やすためにも、より精度の高い関連記事...

wordpressテンプレート変更の作業メモ
wordpressのテンプレート変更作業メモ(自分用)...

WordPressでAPIを使ったサイト構築方法:ハーブティー専門店検索サイト編
WordPressでAPIを使ったサイト構築方法:ハーブティー専門店検...

WordPressタグアーカイブページでタグスラッグを取得する方法
Wordpressのアーカイブページのタグテンプレート(tag.php...

【覚書】ポスト記事の下に同カテゴリ内の関連記事をサムネイルつきで表示させる
個別ポスト記事(single.php)で、記事下に同カテゴリ内の関連記...

あるとちょっと便利なWordPressプラグイン3個
最近はサイト作りはWordPressが基本なのですが、入れているプラグ...

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

  1. 佐々木 より:

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

    • Haru より:

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

コメントを残す

このページの先頭へ