ACFでTaxonomyの返り値オブジェクトに設定してしまった際に、meta_queryで一覧を出したい

DLファイル数が70%になるし、フィールドとかオブジェクトやらのでかめのデータも含まれてるだろうから大分短縮になる…はずだけども
お兄ちゃん,そのcloneの定義だとフィールドの参照先まではコピーされないから,一方のオブジェクト経由でフィールドの参照先を操作したら他方のオブジェクトにも影響があるよね?浅くていいのはお兄ちゃんの知恵だけだよ?
あれか 間にフィールドオブジェクトの炎を挟んで火炎放射にすんのか (リセッシュてアルコール系だっけ)
フィールドオブジェクト調べてキャラが反応するのはキャラゲーとして信じられる
[ #FileMaker 小ネタ] オブジェクトフィールドにPDFなどの関連資料を格納するようなシーンで、関連資料の表示機能を実装するのであれば、「自動的に開く」オプションを設定して「フィールド内容のエクスポート」でテンポラリパスに吐き出すのが便利。
ポインタのポインタみたいな高階のポインタがあると意味を理解しづらくなってしまうし、リファレンス機能をオブジェクトに強く結びつけて、オブジェクトのフィールド参照として、デリファレンスに名前を強制することで分かりやすくなったから、現代的なオブジェクト指向言語に敢えてポインタを文字数
まさか、人型オブジェクトのフィールドエージェントだったりする?(まてまて
家具庭具は相変わらず設置が引き算すぎてつらい なんというか帯に短し襷に長しで、Sだと満足いくまでやると詰め込みすぎで、Mだと基本間延びするのがあれね。 庭具はもうちょっと頑張って欲しいけど、たぶん住宅村の1フィールドに置けるオブジェクト数的に厳しいんだろうなぁ
光のお父さん5話。会議室の人の配置と、フィールドのオブジェクトの配置がシンクロしてた気がしたのは気のせいなのか( ´・ω・`)
???「虫のこともお前のこともフィールド上で当たり判定があるオブジェクトとしてしか見てない」
[ #FileMaker 小ネタ] リスト形式表示のレイアウトの場合、Tabキーによるフィールド(オブジェクト)移動はパート間をまたげない。スクリプトトリガ「OnObjectKeystroke」でTabキー入力でフィールド移動させる必要あり。
オブジェクトのフィールドに[]でアクセスしようとしたときもAutoComplete この機能は、もうためせるよー #io17jp

ACFのオブジェクトの返り値を使って一覧を出したい

アドバンスドカスタムフィールドを使って、記事と別のタクソノミーを連携した際にの記事一覧の出し方について、当たった問題と解決策を書いてきます。

フィールド設定をタームIDにした時

タームIDを使用した際の記事一覧は、

$args = array(
  'meta_query' => array(
    array(
      'compare' => 'LIKE',
      'key'     => "acf_taxonomy" // 設定したキー
      'value'   => 41 // 取得したい値
    )
  )
);

で取得できます。

フィールド設定をオブジェクトにした時

タームIDをオブジェクトにした際、設定したのフィールド名をacf_taxonomyとすると、
ここに入っている値はWP_Termsというオブジェクトが配列で入っています。

ですので、タームIDと同じようにはいきません。

オブジェクトで入っていると説明をしましたが、
記事に入っている情報acf_taxonomyの中身をみてみると

'a:6:{i:0;s:2:"41";i:1;s:2:"56";i:2;s:2:"74";i:3;s:1:"2";i:4;s:1:"4";i:5;s:1:"3";}'

みたいな感じで入っています。

このダブルコーテーションで囲まれてる"41"などが、オブジェクトのterm_idになります。
なので、この文字列に「取得したいIDが、ダブルコーテーションで囲まれて入っていれば取得」という形を取ります。

$args = array(
  'meta_query' => array(
    array(
      'compare' => 'LIKE',
      'key'     => "acf_taxonomy"
      'value'   => '"41"' // "41"という文字列を探す
    )
  )
);

これで特定の値をもった記事を探す事ができます。

もしかしたらタクソノミーだけでなく、投稿とかでもつかえるかも・・・(要検証)

ACFでつまったら

たまに検索しても解決策が見つからない場合があります。
その際、

var_dump( get_post_meta($post->ID,) );

を記事が出力される箇所にいれて、
どのフィールドがどのように入っているのかをみてみると、もしかしたら解決できるかも・・・!

  • コメント

    1. 匿名希望
      2017/05/23(火) 09:33:42

      お兄ちゃん,そのcloneの定義だとフィールドの参照先まではコピーされないから,一方のオブジェクト経由でフィールドの参照先を操作したら他方のオブジェクトにも影響があるよね?浅くていいのはお兄ちゃんの知恵だけだよ?

    2. 匿名希望
      2017/05/23(火) 09:33:42

      フィールドオブジェクト調べてキャラが反応するのはキャラゲーとして信じられる

    3. 匿名希望
      2017/05/23(火) 09:33:42

      あれか
      間にフィールドオブジェクトの炎を挟んで火炎放射にすんのか
      (リセッシュてアルコール系だっけ)

    4. 匿名希望
      2017/05/23(火) 09:33:42

      [ #FileMaker 小ネタ] オブジェクトフィールドにPDFなどの関連資料を格納するようなシーンで、関連資料の表示機能を実装するのであれば、「自動的に開く」オプションを設定して「フィールド内容のエクスポート」でテンポラリパスに吐き出すのが便利。

    5. 匿名希望
      2017/05/23(火) 09:33:42

      ポインタのポインタみたいな高階のポインタがあると意味を理解しづらくなってしまうし、リファレンス機能をオブジェクトに強く結びつけて、オブジェクトのフィールド参照として、デリファレンスに名前を強制することで分かりやすくなったから、現代的なオブジェクト指向言語に敢えてポインタを文字数

    記事に戻る

関連記事