WordPressでカスタムフィールドの値を取得する方法って、今まで「get_post_meta」を使う方法しか知らなかったんですが、他にもあることを知りました。
知ったきっかけはこちらの投稿
投稿内のコメント欄であの方に教えていただきました。ありがとうございます。
そろそろ、 $post->joblist みたいな書き方が定着してきてもいいと思うんだ。
(あの方より)
こんなやり方があるだと・・・!というわけで、さっそくやってみました。例えば、下の画像のように改行を反映させたまま表示させたいとします。
今までの方法「get_post_meta」を使うと、下のように書けばOKです。
「get_post_meta」を使って表示する方法
<?php echo nl2br( esc_html( get_post_meta( $post->ID , 'joblist' , true ) ) ); ?>
次に、今回知った「$post->キー名」を使うと、下のように書けばOKです。
キー名を使って表示する方法
<?php echo nl2br( esc_html( $post->joblist ) ); ?>
というように、「$post->キー名」を使っても値を取得できますが、改行タグを反映させたい場合は「nl2br」を、エスケープも行う必要があるので「esc_html」「esc_attr」などを使うことには変わらないのですが、コードが短くなって見やすいなぁとは思いました。
ちなみに「$post」はグローバル変数で、現在の投稿情報を保持しています。「get_post_meta」を使う時に指定した第1引数「$post->ID」は、現在の投稿のIDが格納されています。
と、今のところ自分が理解したことはここまでです。新しいことを覚えたら、この記事に追記していこうと思っています。
このページを共有する