ラノベ・ガジェットのコメットキャットの趣味ブログ
Enterで検索 Escで閉じる
Advanced Custom Fieldsを使うとWordPressのカスタマイズが簡単になる部分が多くあります。
基本的には、固定ページや投稿に入力欄や選択肢を増やす形のカスタマイズが多いのですが、カテゴリやタグと言ったタクソノミーに情報を追加することもよくあります。
その際普段通りの方法では情報を取得できないので、ちょっとだけ注意が必要です。
今回はテスト用に、カテゴリにサムネイルと説明文を追加して表示してみましょう。まずがACFを設定します。
単純なカテゴリ用のサムネイルと、説明文の入力欄を用意しました。ルールの部分で、タクソノミー全てに適用されるようにしています。
設定が終われば、あとはACFの入力情報を取得するだけです。ACFの値を取得する関数get_fieldは以下のような仕様になっています。
get_field($selector, [$post_id], [$format_value]);
普段使う時は、第1引数のselectorだけ指定すれば良いのですが、カテゴリ等の場合は第2引数のidを指定します。
まずは、取得したタクソノミー情報を取得します。
$target_taxonomy = ’category_slug’; // 指定したいタクソノミーのスラッグを指定 $current_term_slug = get_query_var(’term’); // 現在のターム情報を取得
取得した情報を使って、タームのidを取得します。
$the_term = get_term_by(’slug’, $current_term_slug, $target_taxonomy); // ターム情報を取得 $term_id = $the_term->term_id;// タームIDを取得
最後に、タクソノミーとidをアンダースコアで繋ぎます。
$term_field_ids = $taxonomy.”_”.$term_id;
これで準備はOKです。あとはget_fieldを使うだけ。取得したいカスタムフィールドと一緒に先ほどの変数を一緒に指定すれば完了です。
get_field(’tax_desp’, $term_field_ids);
全てつなげるとこんな感じになります。
$target_taxonomy = ’category_slug’; // 指定したいタクソノミーのスラッグを指定 $current_term_slug = get_query_var(’term’); // 現在のターム情報を取得 $the_term = get_term_by(’slug’, $current_term_slug, $target_taxonomy); // ターム情報を取得 $term_id = $the_term->term_id;// タームIDを取得 $term_field_ids = $taxonomy.”_”.$term_id; get_field(’tax_desp’, $term_field_ids);
無事カテゴリやタグ等のタクソノミーに紐付けたカスタムフィールドを取得・表示することができました。
この記事は役に立ちましたか?
CSS入門 CSSとは?初めての方向けの入門記事
Yoast SEO タイトル・ディスクリプションにカスタムフィールドの値を入れる方法
Tailwind.cssの導入方法、すごく簡単だったのでやってみよう
静的HTMLの一部にWordPressの記事を表示する方法
【WordPress公式テーマ】コンセプトと今後のアップデート予定を紹介
Nuxt.jsのUIライブラリ比較:daisyUI vs Flowbite vs Nuxt UI
保存した記事はありません