管理画面外からアップロードしたファイルの処理について
-
管理画面外のフォームから投稿記事用の画像データとオーディオデータをアップロードした時の処理について上手く出来ませんのでアドバイスをお願いします。
アップロードしたファイル→メディアライブラリ保存して記事に紐づけ
画像ファイル→サムネイルに設定
オーディオファイル→カスタムフィールドに設定
==============================================================================
■問題点個別に一個のみでアップロードすると画像ファイルの場合、サムネイルにちゃんと設定されます。
オーディオファイルも一緒にアップロードすると画像ファイル、オーディオファイルともに
メディアライブラリにアップロードされ記事にも紐づけされますが、なぜか画像ファイルがアイキャッチに設定されません。==============================================================================
■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);
}
- トピック「管理画面外からアップロードしたファイルの処理について」には新たに返信することはできません。