get_field_object()の説明
get_field_object()は、指定したフィールドのラベルやフィールドタイプといった設定情報を返します。この関数を使用して、これらの設定をフィールドの値とともに配列としてロードできます。
パラメーター
get_field_object($selector, [$post_id = false], [$format = true], [$load = true]);
- $selector(必須):フィールド名またはフィールドキーを指定します。
- $post_id:値が保存された投稿IDを指定します。デフォルトは現在の投稿です。
- $format:フォーマットを適用するかどうかの真偽値です。デフォルトはtrueです。
- $load:フィールドの値をロードするかどうかの真偽値です。デフォルトはtrueです。
返却値
get_field_object()は、次のような配列を返します。
array(
'ID' => 0,
'key' => '',
'label' => '',
'name' => '',
'prefix' => '',
'type' => 'text',
'value' => null,
'menu_order' => 0,
'instructions' => '',
'required' => 0,
'id' => '',
'class' => '',
'conditional_logic' => 0,
'parent' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => ''
)
);
フィールドのラベルと値を表示
get_field_object()は連想配列を返すので、キーを指定して値を取得します。
$field = get_field_object( "field1" );
// ラベルを表示
echo $field["label"];
// 値を表示
echo $field["value"];
get_field_objects()
get_field_objects()は、指定した投稿に保存されているすべてのフィールドの情報(ラベルやフィールドタイプ)を返します。
get_field_objects( [$post_id = false], [$format = true], [$load = true] );
パラメーター
- $post_id:値が保存された投稿IDを指定します。デフォルトは現在の投稿です。
- $format:フォーマットを適用するかどうかの真偽値です。デフォルトはtrueです。
- $load:フィールドの値をロードするかどうかの真偽値です。デフォルトはtrueです。
返却値
get_field_objects()は、次のような配列を返します。
array(
"field_name" => array(
'ID' => 0,
'key' => '',
'label' => '',
'name' => '',
'prefix' => '',
'type' => 'text',
'value' => null,
'menu_order' => 0,
'instructions' => '',
'required' => 0,
'id' => '',
'class' => '',
'conditional_logic' => 0,
'parent' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => ''
)
),
...
);
すべてのフィールドのラベルと値を表示
次の例では、get_field_objects()を使って、すべてのフィールドのラベルと値を表示しています。
$fields = get_field_objects();
foreach( $fields as $field ){
echo $field['label'] . " : " . $field['value'];
}