acf_get_meta_field()


WordPressのacf_get_meta_field()関数は、Advanced Custom Fields(ACF)プラグインのカスタムフィールドからメタデータを取得するために使用されます。

構文

acf_get_meta_field( string $field_name, int $post_id = 0, bool $format_value = true );

引数の説明:

  • $field_name (string) — 取得するカスタムフィールドの名前。
  • $post_id (int) — 投稿またはページのID(省略可能、デフォルトは現在の投稿)。
  • $format_value (bool) — 値をフォーマットするかどうか(省略可能、デフォルトはtrue)。

例1: カスタムフィールドの値を取得する

指定した投稿のカスタムフィールド「price」の値を取得する例です。

<?php $price = acf_get_meta_field('price', get_the_ID()); ?>
<?php echo $price; ?>

例2: フォーマットされていない値を取得する

フォーマットなしでカスタムフィールド「price」の値を取得する方法です。

<?php $price = acf_get_meta_field('price', get_the_ID(), false); ?>
<?php echo $price; ?>

例3: 別の投稿IDで値を取得する

指定した投稿ID「123」のカスタムフィールド「price」を取得する例です。

<?php $price = acf_get_meta_field('price', 123); ?>
<?php echo $price; ?>

例4: カスタムフィールド「location」の値を取得する

「location」というカスタムフィールドの値を取得する例です。

<?php $location = acf_get_meta_field('location', get_the_ID()); ?>
<?php echo $location; ?>

例5: 他の投稿のカスタムフィールドを取得し、条件付きで表示する

特定の投稿IDの「price」が設定されている場合にのみその値を表示する例です。

<?php 
$price = acf_get_meta_field('price', 123);
if ($price) {
    echo 'Price: ' . $price;
}
?>

例6: カスタムフィールド「price」がない場合にデフォルト値を表示する

「price」フィールドが空であれば、デフォルトの値「N/A」を表示する例です。

<?php 
$price = acf_get_meta_field('price', get_the_ID());
if (!$price) {
    $price = 'N/A';
}
echo 'Price: ' . $price;
?>

予防措置

カスタムフィールド名が間違っている場合や、指定された投稿IDにカスタムフィールドが存在しない場合、関数はnullまたは空の値を返すことがあります。そのため、値が取得できなかった場合の処理を適切に実装することが重要です。