acf_clean_atts()


WordPressの関数acf_clean_atts()は、Advanced Custom Fields (ACF) プラグインで使用され、HTML属性をクリーンアップして不正な値を削除します。この関数は、ACFのフィールド設定やカスタムフィールドに渡す属性を安全に処理するために使用されます。

シンタックス

acf_clean_atts( array $atts );
  • $atts (array) — 処理するHTML属性の連想配列

例1: 基本的な使用例

ACFのフィールド設定で渡す属性をクリーンアップする基本的なコード。

<?php
$atts = array(
    'class' => 'button',
    'style' => 'color: red;',
    'invalid' => 'true'
);
$clean_atts = acf_clean_atts( $atts );
print_r( $clean_atts );
?>

例2: 不正な属性を削除

不正な属性「invalid」が削除される例。

<?php
$atts = array(
    'id' => 'element-1',
    'style' => 'background-color: blue;',
    'invalid' => 'true'
);
$clean_atts = acf_clean_atts( $atts );
print_r( $clean_atts );
?>

例3: クリーンアップ後のHTML属性を出力

クリーンアップされたHTML属性をHTMLタグに適用する例。

<?php
$atts = array(
    'href' => 'https://example.com',
    'title' => 'Example',
    'invalid' => 'false'
);
$clean_atts = acf_clean_atts( $atts );
echo '<a ' . implode( ' ', array_map( function( $key, $value ) {
    return $key . '="' . esc_attr( $value ) . '"';
}, array_keys( $clean_atts ), $clean_atts ) ) . '>Link</a>';
?>

例4: 追加のHTML属性

他のHTML属性も処理する例。

<?php
$atts = array(
    'src' => 'image.jpg',
    'alt' => 'Example Image',
    'width' => '500',
    'invalid' => 'value'
);
$clean_atts = acf_clean_atts( $atts );
echo '<img ' . implode( ' ', array_map( function( $key, $value ) {
    return $key . '="' . esc_attr( $value ) . '"';
}, array_keys( $clean_atts ), $clean_atts ) ) . ' />';
?>

例5: 属性のクリーンアップとバリデーション

特定のHTML属性のみを保持する例。

<?php
$atts = array(
    'class' => 'button',
    'style' => 'color: red;',
    'data-custom' => 'value'
);
$clean_atts = acf_clean_atts( $atts );
print_r( $clean_atts );
?>

例6: ACFのフィールド設定での使用

ACFのカスタムフィールド設定でクリーンアップされた属性を使用する例。

<?php
$atts = array(
    'field_name' => 'value',
    'class' => 'acf-field',
);
$clean_atts = acf_clean_atts( $atts );
print_r( $clean_atts );
?>

注意点:

  • acf_clean_atts()はHTML属性をクリーンアップしますが、渡された属性が無効な場合でもエラーを出さずに処理されます。
  • 不正な属性(例えば「invalid」など)は、単に削除されます。
  • クリーンアップ後の属性は、HTML出力時に安全に使用できます。