acf_upload_files()


関数acf_upload_files()は、Advanced Custom Fieldsプラグインを使用して、ACFフィールドに関連付けられたファイルをアップロードするために使用されます。

構文

acf_upload_files();

例1: フォームからのアップロードの処理

フォームの送信時にACFのアップロード機能をトリガーする例です。

<?php
add_action( 'acf/save_post', function( $post_id ) {
    if ( !empty( $_FILES ) ) {
        acf_upload_files();
    }
});
?>

例2: 特定の投稿タイプに関連付けられたファイルのアップロード

投稿タイプがcustom_post_typeの場合にのみアップロードを実行します。

<?php
add_action( 'acf/save_post', function( $post_id ) {
    if ( get_post_type( $post_id ) === 'custom_post_type' ) {
        acf_upload_files();
    }
});
?>

例3: フロントエンドフォームでのファイルアップロード

フロントエンドの投稿フォームで送信されたファイルを処理します。

<?php
if ( !empty( $_FILES['acf'] ) ) {
    acf_upload_files();
}
?>

例4: 条件付きでアップロードを無効化

特定の条件に基づいてファイルのアップロードをスキップします。

<?php
add_action( 'acf/save_post', function( $post_id ) {
    if ( $post_id !== 'specific_id' ) {
        return;
    }
    acf_upload_files();
});
?>

例5: フィールドの検証後にアップロード

カスタム検証を行い、条件を満たした場合のみアップロードを許可します。

<?php
add_action( 'acf/save_post', function( $post_id ) {
    $field_value = get_field( 'field_name', $post_id );
    if ( $field_value === 'allowed_value' ) {
        acf_upload_files();
    }
});
?>

注意事項

  • acf_upload_files()は通常、acf/save_postアクション内で使用されます。
  • アップロードされたファイルの保存先は、ACFのフィールド設定に基づきます。
  • 十分なファイルサイズと拡張子の制限を設定することでセキュリティを向上させることが推奨されます。