acf_format_value()


Advanced Custom Fields(ACF)のacf_format_value()関数は、指定された値をフォーマットするために使用されます。この関数は、ACFの値をより簡単に操作したり、特定の条件に従ってカスタマイズする際に役立ちます。

構文

acf_format_value( mixed $value, int|string $post_id, array $field );

引数の説明:

  • $value (mixed) — フィールドから取得された値。
  • $post_id (int|string) — 値が関連付けられている投稿IDまたは識別子。
  • $field (array) — ACFのフィールド設定。

例 1: 値のフォーマット

指定された投稿の値をフォーマットします。

<?php
$field = get_field_object( 'example_field', get_the_ID() );
$value = acf_format_value( $field['value'], get_the_ID(), $field );
echo $value;
?>

例 2: カスタムフォーマットを適用

カスタムフォーマットを特定の条件で適用します。

<?php
$field = get_field_object( 'example_field', get_the_ID() );
$value = acf_format_value( $field['value'], get_the_ID(), $field );
if ( is_numeric( $value ) ) {
    echo number_format( $value );
}
?>

例 3: 画像URLのフォーマット

画像フィールドの値をフォーマットしてURLを取得します。

<?php
$field = get_field_object( 'image_field', get_the_ID() );
$value = acf_format_value( $field['value'], get_the_ID(), $field );
if ( is_array( $value ) ) {
    echo $value['url'];
}
?>

例 4: 条件付き出力

値が空でない場合に出力します。

<?php
$field = get_field_object( 'example_field', get_the_ID() );
$value = acf_format_value( $field['value'], get_the_ID(), $field );
if ( !empty( $value ) ) {
    echo $value;
}
?>

例 5: 日付のフォーマット

ACFの日付フィールドを特定の形式でフォーマットします。

<?php
$field = get_field_object( 'date_field', get_the_ID() );
$value = acf_format_value( $field['value'], get_the_ID(), $field );
if ( $value ) {
    echo date( 'Y年m月d日', strtotime( $value ) );
}
?>

注意事項

  • $field引数が正しく設定されていないと、期待通りに動作しない可能性があります。
  • カスタムフォーマットを適用する場合は、データ型を確認してください。