サポート » 使い方全般 » 異なる2つのカスタムフィールドの値を一つのページ内でそれぞれ一緒に表示させたい。

  • ■やりたいこと

    サイト内に下記ACFで作成したカスタムフィールドがあり
    ①アーティスト情報
    ②アルバム情報
    これらについてアーティスト紹介ページ(カスタム投稿)内で①、②の情報をそれぞれ表示させたい。
    なお②についてはアーティストに紐付いた複数のアルバムを表示させたい。


    <アーティスト紹介ページ内>

    ①〜アーティスト情報エリア〜
    アーティスト名:Nirvana
    アーティストジャンル:rock
    共通番号:001

    ②〜アルバム情報エリア〜
    アルバム名:never mind
    値段:3000円
    共通番号:001

    アルバム名:In Utero
    値段:2000円
    共通番号:001

    ■自分で試してみたこと

    $args = array(
    ‘post_type’ => ‘album’,
    ‘showposts’ => -1,
    ‘meta_key’ => ‘album_artist_num’,//共通番号
    ‘meta_value’ => ‘001’
    );

    これで001は表示されるが、アーティストが増えるたびに、 ‘meta_value’ の数値を「002 」 、 「003」のように
    手動で増やす必要があるので運用が大変。

    ■知りたいこと
    ①アーティスト情報と②アルバム情報については同じアーティストであれば、カスタムフィールドは違うが、
    同じ共通番号がふってあるので、その番号で紐づけて自動で出力させる方法を知りたい。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 意図が不明瞭なのかも。

    アーティスト情報のページに
    直接ディスコグラフィを都度追加することでも対応可能ではないでしょうか。

    ACF使うならアーティスト情報のページに複製可能なアルバム名とアルバム値段のカスタムフィールドの組み合わせを用意して、ショートコードで表示してもよいのでは。
    これも「異なる2つのカスタムフィールドの値を一つのページ内でそれぞれ一緒に表示させたい。」に該当すると思います。文章的に。

    アーティスト情報、アルバム情報を別々の投稿とする(必要あるいは情熱)なら、共通番号じゃなくてもアーティスト名カスタムフィールドみたいなのを作って、「どっか」からアーティスト名カスタムフィールドの値を取得して、その結果で該当する投稿IDを取得して、その投稿のカスタムフィールド情報を表示するみたいになるのでは。このアーティスト名カスタムフィールドが共通番号でも構わない。

    カスタムフィールドの値は「個々の投稿」に別々に紐つけられてるので、メタキーの名前が違っても構わない。コード書くときに間違わなければ。
    アーティスト情報のalbum_artist_numとアルバム情報エリアのalbum_artist_numは全く関係がない。
    たまたま値が一緒なだけ的なものではないでしょうか。

    これで001は表示されるが、アーティストが増えるたびに、 ‘meta_value’ の数値を「002 」 、 「003」のように
    手動で増やす必要があるので運用が大変。

    変数使うんですかね。

    変数 = アーティスト側の共通番号を取得
    args = array(
    ‘post_type’ => アルバム情報,
    ‘meta_value’ => 変数

    >直接ディスコグラフィを都度追加することでも対応可能ではないでしょうか。
    >ACF使うならアーティスト情報のページに複製可能なアルバム名とアルバム値段のカスタムフィールドの組み合わせを用意して、ショートコードで表示してもよいのでは。

①のアーティスト情報と②のアルバム情報を合わせたカスタムフィールドにするということでしょうか。
    →※認識違っていたらすいません。。。。

・登録するアルバムが多数
    ・アルバム情報が多数。
    →上記の例では名、ジャンル、共通番号の3つでしたが、実はこれ以外にも発売日などの情報があって
1アルバムに付き合計10個の情報を書く必要があります。

    よってアルバムが多数あるアーティストの場合、①、②をあわせると、入力ページ内で
    ものすごい下の方まで延々とカスタムフィールドを入力するフォームが続いてしまい運用者がやりづらいのでは??

    という理由によりアーティストとアルバムの情報をそれぞれわけたほうが運用しやすくなると思いました。

    もしかすると、アルバムを追加するごとにアーティスト情報のページで都度ショートコードかなにかを使って出力するということでしょうか。

    あと自分の意図はアーティスト情報のページにアーティスト情報がのせると、それに紐付いたアルバム情報が自動で表示されるというところです。

    変数 = アーティスト側の共通番号を取得
    args = array(
    ‘post_type’ => アルバム情報,
    ‘meta_value’ => 変数

    このあたりは完成イメージに近いのですが
    このあたり変数どう取るんですかね??参考サイトあります?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「異なる2つのカスタムフィールドの値を一つのページ内でそれぞれ一緒に表示させたい。」には新たに返信することはできません。