これはWordPressのlingoを使用していますが、PHPに基づくコアな質問です。私は自分のサイトのバックエンドに、 "本部"として特定の場所(WordPressのカスタム投稿タイプ)を保存しているという選択肢があります。私は、次のような値を格納しています:単一の配列値を扱う
function options_headquarters() {
foreach(get_field('option_headquarters','options') as $post_object) {
$options_headquarters = $post_object->ID;
return $options_headquarters;
}
}
私は上のあいまいだことはある - 私のオプションは一つの値だけをつかむことを許可されているので、(オプションは1つだけのドロップダウンするように構成されている) - への代替があります特定の配列値を取得するためにforeach文を使用し、それをpost_objectに適用しますか?
ありがとうございます!
恐ろしい!ただ一つの簡単なフォローアップの質問(私はあなたが普通のWPユーザーではないことを読んだので、他の場所でこれを参照する必要があるかどうか私に知らせてください) - あなたが 'options [0] - > ID 'それは' $ post_object-> ID'をどのように参照していますか?私はこれを考えてみようとしています。私は '$ options_hq = $ options [0];'に変更し、実際に働いていました。 'ID'テーブルには入っていないので、実際の' get_field() '関数はすでにそれを返しています私はちょっと混乱していると思う;) – Zach
'get_field( 'option_headquarters'、 'options')'は配列を返すので、元のコードは単純にその配列を 'foreach'でループします。 '$ options [0]'はループを控え、 "返された配列の最初の要素が必要です" ... "0"キーは数値的に配列された配列の最初のものです。私が 'isset($ options [0])'を使用したのは、 'get_field'が空の配列を返す機会がないことです(データベースのフィールドに値が存在しないため)配列。これらのいずれかが起こった場合、 'isset'はPHPが警告または通知を出さないようにします – rdlowrey
本当に説明を感謝します。間違いなく@Felix Klingのやり方も見ていきます。私は "コードコンプリート"という本を購入しました。 :) – Zach