WordPress:ループ外でカスタムフィールドの内容を表示
記事の作成時に設定したカスタムフィールドの内容をループ外でも使用できるようにします。
便利で使い易いカスタムフィールドをループ外でも使用できるようにすると、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:ループ外でカスタムフィールドの内容を表示」でした。