【WordPress】the_contentなどで取得する本文に、カスタムフィールドの値を含める方法

WordPressで、テンプレートタグthe_contentを使用し投稿などの本文を扱う際に、本文にカスタムフィールドの値を含めた状態で扱いたい場合があるかもしれません。

今回は、そのような際に利用できるソースコードの例となります。

投稿の本文内にカスタムフィールドの値を含める例

以下は、フィルターフックthe_contentを使い、本文にカスタムフィールドの値を含めるソースコードの例となり、functions.phpに記述します。

function my_add_field( $content ){
	if( is_single() ){
		// カスタムフィールドの値を取得
		$value = get_post_meta( get_the_ID(), 'sample_field', true );
		if( $value ){ 
			// 本文の後にカスタムフィールドの値を追加
			$content .= $value;
		}
	}
	return $content;
}
add_filter( 'the_content', 'my_add_field' );

フィルターフックthe_contentのコールバック関数の引数には、本文が格納され扱うことができます。

上記例では、そのフィルターフックthe_contentを使用し、投稿の本文の後に指定したカスタムフィールドの値を追加しています。

それにより、テンプレートタグthe contentで本文を取得した際に、本文の後に指定したカスタムフィールドの値が追加された状態で取得できます。

また、本文に追加したカスタムフィールドは、フィルターフックthe_contentが適用されるため、ショートコードなど本文内で利用できる機能を、カスタムフィールドでも使えるようになります。

カスタムフィールドを扱う関数については、以下のリンク先を参考にしてみてください。

コメント投稿またはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はこちらから。

また、コメントは承認制となります。