###カスタムフィールド
$price = get_post_meta(get_the_ID(), '価格', true);
echo $price;
get_post_meta(); カスタムフィールドの値を取得する関数
get_the_ID() 今表示している投稿のid
'価格' カスタムフィールドの価格を選択
true 文字列として単一の結果を返す。カスタムフィールドが一つならtrue。
###Advanced Custum Fields (ACF)
プラグイン。カスタムフィールドというメニューが追加される。カスタムフィールドをより細かく設定できる。
インストール後、以下のテンプレートタグが追加される。
the_field('価格');
get_field('価格');
上は$price = get_post_meta(get_the_ID(), '価格', true);
echo $price;
と同じように表示される。
下は表示せず取得だけ。
###カスタム投稿タイプ
投稿、固定ページだけでなく新しい投稿タイプを追加する。
register_post_type('item',[
'labels' => [
'name' => '商品',
],
'public' => true,
'has_archive' => true,
'hierarchical' => false,
'supports' => [
'title',
'editor',
'page-attribites'
],
'menu_position' => 5,
'menu_icon' => '',
]
]);
function.phpに書いていく。パラメータに投稿タイプ名を指定。
配列で指定する。
itemはurlにも使われる。
labelsの指定はさらに多くある。
publicの部分で表示するように指定する。
has_archiveの部分は一覧ページを持つかどうかを指定。
hierarchical固定ページのようにページの階層があるようにするか投稿のようにするか。
menu_positionは管理画面のメニューのどこに置くかを指定。
menu_iconはメニューアイコンを指定。dashiconというwordpressで提供されているiconを付けることができる。
この場合、wordpressの管理画面のメニューに商品というメニューが追加される。
新規追加でタイトルと本文を入力でき公開をクリックするとURLも変更できる。
ポストタイプを新しく作ったときはパーマリンク設定で変更を保存する。
####「商品」の投稿ページにカスタムフィールドが表示されるよう変更する
ADCプラグインで追加したメニューにあるカスタムフィールドのフィールドグループをクリック。
作ったカスタムフィールドをクリックし、ルールの投稿となっている部分を作成したポストタイプ,商品に変更する。