サポート » 使い方全般 » 管理画面外からアップロードしたファイルの処理について

  • 管理画面外のフォームから投稿記事用の画像データとオーディオデータをアップロードした時の処理について上手く出来ませんのでアドバイスをお願いします。

    アップロードしたファイル→メディアライブラリ保存して記事に紐づけ

    画像ファイル→サムネイルに設定

    オーディオファイル→カスタムフィールドに設定

    ==============================================================================
    ■問題点

    個別に一個のみでアップロードすると画像ファイルの場合、サムネイルにちゃんと設定されます。
    オーディオファイルも一緒にアップロードすると画像ファイル、オーディオファイルともに
    メディアライブラリにアップロードされ記事にも紐づけされますが、なぜか画像ファイルがアイキャッチに設定されません。

    ==============================================================================
    ■form.php

    <input type=”file” name=”uploadfile1″ />
    <input type=”file” name=”uploadfile2″ />

    ■post.php
    //画像投稿用の処理関数
    function insert_attachment($file_handler,$post_id,$setthumb=’false’)
    {
    if ($_FILES[$file_handler][‘error’] !== UPLOAD_ERR_OK) __return_false();

    require_once(ABSPATH . “wp-admin” . ‘/includes/image.php’);
    require_once(ABSPATH . “wp-admin” . ‘/includes/file.php’);
    require_once(ABSPATH . “wp-admin” . ‘/includes/media.php’);
    $attach_id = media_handle_upload( $file_handler, $post_id );
    if ($setthumb)
    update_post_meta($post_id,’_thumbnail_id’,$attach_id);
    return $attach_id;
    }
    //uploadfile1 サムネイルアップロード画像
    $upfile = $_FILES[‘uploadfile1’];

    if($_FILES[‘uploadfile1’][‘size’] > 0)
    {
    $attachment_id = insert_attachment(‘uploadfile1’, $post_id);

    }
    //uploadfile2 オーディオファイル
    $upfile = $_FILES[‘uploadfile2’];

    if($_FILES[‘uploadfile2’][‘size’] > 0)
    {
    $attachment_id = insert_attachment(‘uploadfile2’, $post_id);
    $field_key = “field_key”;
    update_field($field_key , $attachment_id , $post_id);
    }

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 komurojun11245

    (@komurojun11245)

    自己解決しました。

    //uploadfile2 オーディオファイル
    $upfile = $_FILES[‘uploadfile2’];

    if($_FILES[‘uploadfile2’][‘size’] > 0)
    {
    $attachment_id = insert_attachment(‘uploadfile2’, $post_id);
    ↑(‘uploadfile2’, $post_id);→(‘uploadfile2’);

    これで無事に思い通りに投稿できました。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「管理画面外からアップロードしたファイルの処理について」には新たに返信することはできません。