acf_get_sub_field()


WordPressの関数acf_get_sub_field()は、Advanced Custom Fields(ACF)プラグインで使用される関数で、サブフィールドの値を取得するために使用されます。この関数は、リピーターフィールドやフレキシブルコンテンツフィールドの中にあるサブフィールドの値を取得します。

構文

acf_get_sub_field( string $name );
  • $name (string) — 取得したいサブフィールドの名前。

例 1: サブフィールドの値を取得する

リピーターフィールド内のサブフィールド「sub_field_name」の値を取得します。

<?php
$value = acf_get_sub_field( 'sub_field_name' );
echo $value;
?>

例 2: 数値を取得して処理する

数値型のサブフィールド「price」を取得し、計算を行います。

<?php
$price = acf_get_sub_field( 'price' );
$discounted_price = $price * 0.8;
echo $discounted_price;
?>

例 3: 画像URLを取得して表示する

画像フィールド「image」に設定された画像URLを取得して表示します。

<?php
$image_url = acf_get_sub_field( 'image' );
echo '<img src="' . $image_url . '" alt="サンプル画像">';
?>

例 4: フレキシブルコンテンツ内でサブフィールドを取得する

フレキシブルコンテンツフィールド内で「text」フィールドを取得し、表示します。

<?php
$text = acf_get_sub_field( 'text' );
echo $text;
?>

例 5: 複数のサブフィールドを取得する

リピーターフィールド内の複数のサブフィールド「name」と「email」を取得して表示します。

<?php
$name = acf_get_sub_field( 'name' );
$email = acf_get_sub_field( 'email' );
echo '名前: ' . $name . '<br>メール: ' . $email;
?>

予防措置

acf_get_sub_field()は、サブフィールドが存在しない場合、空の値を返すことがあります。フィールドが存在するかどうかを確認するために、条件分岐を使用することをお勧めします。

<?php
if ( $value = acf_get_sub_field( 'sub_field_name' ) ) {
    echo $value;
} else {
    echo 'フィールドが存在しません。';
}
?>