WordPressの投稿時にレビュー情報も一緒に入力して、詳細ページでも見れるし、一覧固定ページでも見れるというのをやりたいです。
今回は詳細ページで入力して詳細ページに表示するところをやります。
この記事は以下の続きです。
https://normalblog.net/system/advanced-custom-fields/
カスタムフィールドに入力する
前の記事で設定した書籍カテゴリの記事を編集してみました。
↑
商品名・ASIN・お気に入り度が表示されました。
設定して記事を更新します。これで入力完了です。
この書籍記事そのものにカスタムフィールドを表示する
↑までで入力したので勝手に表示されそうなのですが、ちゃんとフィールド呼び出しをしないと表示されません。こういうものなのですね。phpで出力ファイルを更新します。
今回は通常記事なのでsingle-book.phpです。
書籍カテゴリのスラッグ名がbookにしてある為です。single.phpでも良いですが、book以外のカテゴリにも影響してしまいます。
single-book.phpが修正対象になるかわかるには、WordPressのテンプレート階層の知識が必要ですが、とくに難しく考える必要はなく、フレームワークなので「そういうルールなのね」という気持ちで進めていくとあとでじわじわと理解が深まってきました。
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E9%9A%8E%E5%B1%A4
以下のようなコードを修正箇所に貼ってあげれば表示されます。
<?php
// 商品名
if (get_field('review_name')) {
$review_name = get_field('review_name');
} else {
$review_name = '';
}
// ASIN
if (get_field('review_asin')) {
$review_asin = get_field('review_asin');
} else {
$review_asin = '';
}
// お気に入り度
if (get_field('review_like')) {
$review_like = get_field('review_like');
} else {
$review_like = '';
}
?>
<div>
商品名:<?php echo $review_name ?>
</div>
<div>
ASIN:<?php echo $review_asin ?>
</div>
<div>
お気に入り度:<?php echo $review_like ?>
</div>


