カテゴリに追加したカスタムフィールドの値をアーカイブページで取得する

カスタムフィールド

WordPressプラグインAdvanced Custom Fieldsでカテゴリに登録したカスタムフィールドの値をアーカイブページで取得するためのサンプルコードです。

フィールドの値を取得するコード

<?php
    //カテゴリーIDを取得
    $cat_id = get_queried_object()->cat_ID;
    //カスタムフィールド取得用へ変換
    $acf_cat_id = 'category_'.$cat_id;
    //カスタムフィールドの値を取得
    $acf_img = get_field( 'mv', $acf_cat_id );
    //画像のURLを取得(thumbnail、medium、largeなどサイズ指定)
    $acf_img_url = $acf_img['sizes']['large'];
    //画像のaltを取得
    $acf_img_alt = $acf_img['alt'];
?>

カスタムフィールドに登録するときは以下の値で設定しています。

  • フィールド名:mv
  • フィールドタイプ:画像

カテゴリに登録したカスタムフィールドの値を取得するには、IDの前に「category_」をつける必要があります。

サンプルでは取得が面倒な画像を紹介しましたが他のタイプでも同じ考え方でいけると思います。

Akira

Akira

未経験から制作会社に入社し3年ほど技術周りをやってます。最近はJamstackに興味があってこのサイトもShifterというサービスを使用してJamstack化しています。

特集記事

TOP