WordPress:ループ外でカスタムフィールドの内容を表示

Date :
Category :
WordPress » カスタムフィールド
Share this :

記事の作成時に設定したカスタムフィールドの内容をループ外でも使用できるようにします。

便利で使い易いカスタムフィールドをループ外でも使用できるようにすると、meta情報の出力などにも使えて活用の幅を更に広げることが出来ます。

ループ外でカスタムフィールドの内容を表示する記述

single.php

<?php
global $wp_query;
$postID = $wp_query->post->ID;
echo get_post_meta($postID, 'カスタムフィールド名', true);
wp_reset_query();
?>

出力されるカスタムフィールドの内容を<p>タグなどのHTMLタグで括りたい場合は、4行目を以下のようにします。

echo '<p>' . get_post_meta($postID, 'カスタムフィールド名', true) . '</p>';

また、カスタムフィールドの内容をHTMLタグで括って出力させる場合は、使用条件によってはif分を使って記述する方が良いので、下記のif分を使用した記述例を参考にしてみてください。

if分を使用してカスタムフィールドの内容を表示させる場合

  • カスタムフィールドの内容をHTMLタグで括る
  • カスタムフィールドの内容が常にあるとは限らない

このような使用条件の場合、if分を使用して記述しておくことで、カスタムフィールドの内容が無い場合は括っているHTMLタグも出力されませんので、空タグの出力を防ぐことが出来ます。

single.php

<?php
global $wp_query;
if (get_post_meta(get_the_ID(), 'カスタムフィールド名', true)) {
	$postID = $wp_query->post->ID;
	echo '<p>' . get_post_meta($postID, 'カスタムフィールド名', true) . '</p>';
}
wp_reset_query();
?>

以上、「WordPress:ループ外でカスタムフィールドの内容を表示」でした。