wordpressでget_post_metaメソッドが動かない
ウェブカツ!!のwordpress部のレッスンでは何の問題もなかったのに
自分のアウトプットでは出力されない!ということでどうにかこうにか原因を切り分けた。
1.タイポミスはないか
アウトプットのhome.phpに
get_post_meta($post->ID, 'about', true);
と書いてある。動いているレッスンのコードをコピペしても挙動は変わらず。
2.DBにデータは入っているか
phpMyAdminでwp_postmetaテーブルを確認。
データが入っていることを確認。カスタムフィールドの中身は後ろの方のページに出てくるのね。
3.post_idを取得できているか
get_post_metaメソッドの最初の引数にはpost_idが入るのでhome.phpで
echo $post->ID
を試す。レッスンのhome.phpは数字が出力されたがアウトプットの方は何も出力されず。
ここが原因と判明。レッスンの方のコードは記事のIDがpost_idとなってカスタムフィールドの中身を呼び出せているが
アウトプットの方はできていない。
home.phpをテンプレートに選択した固定ページを作成&フロントページに設定し
その記事のIDをpost_idにするようDBのデータを書き換えたところ表示された。