カスタムフィールドに入力した値やデータやコードを取得して、出力できるとWordPressのカスタマイズの幅が広がります。
カスタムフィールドの内容を出力する為のひとつのタグとして、get_post_metaが必要になります。
どう扱うかは、こちらの記事でも解説しています。
phpとの組み合わせ
パーツの一部になりますがこういう形でphpと組み合わせます。
get_post_meta($post->ID , 設定した名前 , true)
get_post_meta($post_id , 設定した名前 , true)
という感じです。
上記の『設定した名前』というのは、
新規追加するときに、自分でつける名前のことで、自由に決められます。
そして、その後ろのtrueは、入力した値やコードを文字列として返してくれます。
仮にカスタムフィールドの名前をitemとしたら、
<?php echo get_post_meta( $post->ID, 'item', true ); ?>
でカスタムフィールドの値やコードを出力してくれますし、
$abc = get_post_meta( $post->ID, 'item', true );
とすることでカスタムフィールドの値やを取得して、変数$abcに代入することができます。
ページを指定することもできる
さて、$post->IDは、記述されているページでカスタムフィールドのデータを出力させたりする場合に使いますが、$post_idだと、指定したページのデータを取得するときに使います。
と言ってもよくわかりませんよね?笑
category.phpで
<?php echo get_post_meta( $post->ID, 'item', true ); ?>
を記述すると、出力するのはcategry.phpだけど、別のページから、設定したカスタムフィールドのデータを取得する。
$post->IDを$post_idにして記述した場合、
<?php echo get_post_meta( 86 , 'item', true ); ?>
ページID 86のカスタムフィールドのデータをカテゴリーページに出力させる。ということになります。($post_idはそのままページIDの数値に置き換えればOK。)
カスタムフィールドを設定した投稿ページが、新しく作られるたびにカテゴリーページに出力させるには、
<?php while (have_posts()) : the_post(); ?>
ループを使って出力させる。
$post_idにすると、特定のページからカスタムフィールドのデータを取得して、新しく投稿ページを作るたびに出力させるという使い方もできます。
スポンサードリンク