質問: 投稿を送信してフロントエンドから画像をアップロードする 私は上記の質問に似たことをやろうとしています。フロントエンドから画像を投稿してアップロードするようにしています。私はすでに投稿フォームとその作業を終えました。robin i knight upload-post-thumbnail-from-front-end によって投稿された答えをたどってみました。悲しいことに私はそれを働かせることができませんでした。変更または編集するものはありますか。ありがとうございました。
回答: あなたが私が投稿した答えについて話しているなら here それは "ajaxのような"送信を達成するためにiframeでファイルをアップロードするだけです。投稿送信を処理するフォームが既にある場合は、フォームのどこかにアップロードファイルのフィールド入力を追加するだけです。<form ... ... <input type="file" name="thumbnail" id="thumbnail"> ... ... </form> フォームにenctype="multipart/form-data"属性があることを確認してください。次に、投稿を作成した後のフォーム処理スクリプトで(wp_insert_post();を使用していると仮定して)、新しいvarに投稿idを保持します。$new_post = wp_insert_post($post_array); そしてその後追加: if (!function_exists('wp_generate_attachment_metadata')){ require_once(abspath . "wp-admin" . '/includes/image.php'); require_once(abspath . "wp-admin" . '/includes/file.php'); require_once(abspath . "wp-admin" . '/includes/media.php'); } if ($_files) { foreach ($_files as $file => $array) { if ($_files[$file]['error'] !== upload_err_ok) { return "upload error : " . $_files[$file]['error']; } $attach_id = media_handle_upload( $file, $new_post ); } } if ($attach_id > 0){ //and if you want to set that image as post then use: update_post_meta($new_post,'_thumbnail_id',$attach_id); } あなたの画像がアップロードされ、投稿のサムネイルとして保存されます。