acf_file_input()


Advanced Custom Fields (ACF)プラグインのacf_file_input()は、カスタムフィールドにファイルをアップロードするための機能を提供します。この関数を使用することで、フォームにファイル入力フィールドを簡単に追加できます。

構文

acf_file_input( array $args );

引数の説明:

  • $args (array) — フィールド設定の配列。以下のキーを含みます。
    • 'key' (string) — フィールドの一意のキー。
    • 'label' (string) — フィールドのラベル。
    • 'name' (string) — フィールド名。
    • 'type' (string) — フィールドタイプ(常に'file')。
    • 'return_format' (string) — 戻り値の形式(例:’array’, ‘url’, ‘id’)。

例 1: 基本的なファイルフィールドの追加

以下はファイル入力フィールドをフォームに追加する基本例です。

acf_file_input( array(
    'key' => 'field_file_upload',
    'label' => 'ファイルアップロード',
    'name' => 'upload_file',
    'type' => 'file'
) );

例 2: URLを返すファイルフィールド

アップロードされたファイルのURLを返すように設定します。

acf_file_input( array(
    'key' => 'field_file_url',
    'label' => 'ファイルURL',
    'name' => 'file_url',
    'type' => 'file',
    'return_format' => 'url'
) );

例 3: アップロードされたファイルのIDを取得

アップロードされたファイルのIDを返すフィールドを設定します。

acf_file_input( array(
    'key' => 'field_file_id',
    'label' => 'ファイルID',
    'name' => 'file_id',
    'type' => 'file',
    'return_format' => 'id'
) );

例 4: カスタム投稿タイプでファイルフィールドを使用

特定のカスタム投稿タイプでファイルフィールドを追加します。

if ( get_post_type() === 'custom_type' ) {
    acf_file_input( array(
        'key' => 'field_custom_file',
        'label' => 'カスタムファイル',
        'name' => 'custom_file',
        'type' => 'file'
    ) );
}

例 5: 条件に基づいてファイルフィールドを表示

特定の条件下でのみファイルフィールドを表示します。

if ( is_user_logged_in() ) {
    acf_file_input( array(
        'key' => 'field_logged_in_file',
        'label' => 'ログインユーザー用ファイル',
        'name' => 'logged_in_file',
        'type' => 'file'
    ) );
}

注意事項

  • 必須フィールドとして使用する場合、'required'キーをtrueに設定してください。
  • ファイルサイズや拡張子の制限を設けるには、ACFのフィルタを使用してください。