新潟県妙高市|ホームページと広告の相談相手

妙高Web屋

お仕事のご依頼お見積りのご依頼

WordPress

Advanced Custom Fieldsによるカテゴリ用カスタムフィールドの出力方法【WordPress】

2019.2.21

Advanced Custom Fieldsによるカテゴリ用カスタムフィールドの出力方法【WordPress】
WordPress 0 0

こちらの記事は、このような方におすすめです。

・Advanced Custom Fieldsで、カテゴリに追加した「画像」のカスタムフィールドから画像URLを取得したい方
・上記のほか、Advanced Custom Fieldsカテゴリに追加したカスタムフィールドを駆使したテンプレートをを実装したい方

「Advanced Custom Fields(アドバンスド・カスタム・フィールズ)」はWordPressのプラグインの中でも、カスタムフィールドでホームページ制作の幅を広げてくれる代表的なプラグインの一つです。

Advanced Custom Fieldsは投稿や固定ページだけでなくカテゴリに対してもカスタムフィールドを設けることができます。

「このカテゴリの@@表示用タイトル」

「このカテゴリの@@画像」

のようなイメージですね。

今回の記事では、カテゴリーアーカイブで、そのカテゴリの画像系カスタムフィールドに使用している画像URLを取得する方法についてのご紹介です。

この記事の目次

【結論】カテゴリの画像系カスタムフィールドに使用している画像URLを取得する方法

まずは結論から。

画像URLを取得するには4段階ほどステップを踏みます。

// 現在のカテゴリーアーカイブのスラッグを取得
$current_cate_slug = get_query_var('category_name');
echo '【スラッグ】'.$current_cate_slug;

// 現在のカテゴリーアーカイブのスラッグから、そのIDを取得
$current_cate_id = get_category_by_slug($current_cate_slug);
$current_cate_id = $current_cate_id->cat_ID;
echo '【カテゴリーID】'.$current_cate_id;

// 現在のカテゴリーアーカイブのIDから、カスタムフィールド取得用のIDを取得
$acf_get_id = 'category_'.$current_cate_id;
echo '【カスタムフィールド取得用ID】'.$acf_get_id;

// 現在のカテゴリーアーカイブのカスタムフィールド取得用のIDから、画像URLを取得
$acf_img_url = get_field('acf_img_url',$acf_get_id);
echo '【画像URL】'.$acf_img_url;

カスタムフィールドの画像URLは、取得用の[category_XX]の形式のIDがあれば取得できます。

上記コードの4段階のうち、上から3段階までは、その取得用のIDを作る作業をしています。

ページの先頭へ戻る

【詳細】カテゴリ画像URL取得用のIDを作るステップ

第1段階:表示中のカテゴリーアーカイブのスラッグを取得

まずは、カテゴリーアーカイブのページが表示されている前提で、そのページのスラッグを取得します。

コードはこちらです。

もちろんですが、スラッグを表示させたくない場合は[echo]の行は削除してください。

// 現在のカテゴリーアーカイブのスラッグを取得
$current_cate_slug = get_query_var('category_name');
echo '【スラッグ】'.$current_cate_slug;

第2段階:カテゴリーアーカイブのスラッグから、カテゴリーIDを取得

次は、上記の第1段階で取得したスラッグをもとに、そのカテゴリーのIDを取得する処理です。

こちらも状況に応じて[echo]の行は削除でOKです(以下同文です)。

// 現在のカテゴリーアーカイブのスラッグから、そのIDを取得
$current_cate_id = get_category_by_slug($current_cate_slug);
$current_cate_id = $current_cate_id->cat_ID;
echo '【カテゴリーID】'.$current_cate_id;

第3段階:カテゴリーIDから、カスタムフィールド取得用のIDを取得

続いて、上記の第2段階で取得したカテゴリーIDをもとに、カスタムフィールド取得用のIDを取得する処理は下記のコードです。

// 現在のカテゴリーアーカイブのIDから、カスタムフィールド取得用のIDを取得
$acf_get_id = 'category_'.$current_cate_id;
echo '【カスタムフィールド取得用ID】'.$acf_get_id;

さぁ、これで画像系のカスタムフィールドから画像URLを取得する「カギ」ができました!

第4段階:カスタムフィールド取得用のIDから、画像URLを取得

最後に、カスタムフィールド取得用のIDから、画像URLを取得する処理で完了となります。

[acf_img_url]を、画像URLを取得したいカスタムフィールドの名称に置き換えて試してみてください。

// 現在のカテゴリーアーカイブのカスタムフィールド取得用のIDから、画像URLを取得
$acf_img_url = get_field('acf_img_url',$acf_get_id);
echo '【画像URL】'.$acf_img_url;

妙高Web屋では、WordPressのプラグイン「Advanced Custom Fields」に関する記事を随時更新中です。

下記のリンクよりご覧ください。

ページの先頭へ戻る

こちらの記事に感想をお寄せください

こちらの記事をご覧いただき、感じたことなどありましたら下記のボタンを押していただき「感想投稿フォーム」よりお気軽にご感想をお寄せください。

この記事の感想を投稿する
0 0

LINE@始めました!

妙高Web屋ではこのたび、LINE@(ラインアット)を始めることとなりました。

企業やお店のWeb担当者さまへ向けて、ホームページの運営・管理・更新に関する情報を発信していきます。

情報を購読できる「友だち」へのご登録は、下記のボタンよりお願いいたします。

目的のページは見つかりましたか?

お探しのページが見当たらない場合は、キーワードを手がかりに、サイト内検索をご利用ください。

または、下記のボタンより「サイトマップ」のページにアクセスしていただき、お探しください。

目的のページは見つかりましたか?
Twitterでシェアする Twitterでシェアする Facebookでシェアする Facebookでシェアする Feedlyで購読する Feedlyで購読する お問い合わせお問い合わせ ページの先頭へページの先頭へ