acf_maybe_get_field()


Advanced Custom Fieldsのacf_maybe_get_field()関数は、指定されたフィールドキーまたは名前からフィールドオブジェクトを取得するために使用されます。この関数はフィールドが存在しない場合にnullを返すため、安全に値を取得する際に役立ちます。

構文

acf_maybe_get_field( mixed $field_key, mixed $post_id = false, bool $strict = false );

引数の説明

  • $field_key (mixed) — フィールドのキーまたは名前。
  • $post_id (mixed) — オプション。対象の投稿ID。省略した場合、現在の投稿IDが使用されます。
  • $strict (bool) — オプション。厳密なフィールドチェックを行うかどうか。デフォルトはfalse

例 1. 特定のフィールド値を取得

指定されたフィールドキーから値を取得します。

<?php $field = acf_maybe_get_field( 'custom_field_key' ); ?>

例 2. 投稿IDを指定してフィールドを取得

特定の投稿IDに関連付けられたフィールドを取得します。

<?php $field = acf_maybe_get_field( 'custom_field_key', get_the_ID() ); ?>

例 3. 厳密なチェックを有効にする

厳密なチェックを有効にしてフィールドを取得します。

<?php $field = acf_maybe_get_field( 'custom_field_key', get_the_ID(), true ); ?>

例 4. 条件付きでフィールドを取得

フィールドが存在する場合のみ取得し、値を処理します。

<?php
$field = acf_maybe_get_field( 'custom_field_key' );
if ( $field ) {
    echo $field['label'];
}
?>

例 5. 存在しないフィールドへの対処

フィールドが存在しない場合にデフォルト値を設定します。

<?php
$field = acf_maybe_get_field( 'non_existent_field' );
if ( ! $field ) {
    $field = [ 'label' => 'Default Label' ];
}
echo $field['label'];
?>

注意事項

  • $field_keyが間違っている場合、関数はnullを返します。
  • 厳密なチェックを有効にすることで、予期しない結果を防ぐことができます。