私は2つのフロントエンドフォームを使ってワードプレス投稿を追加し編集しています。私はフォームが正常に動作していることを追加し、添付ファイルを完全にアップロードすることができました。wordpress - フロントエンドから投稿添付を更新できません
問題は編集フォームにあります。私はファイルをアップロードするために以下のコードを使用しています。私はdb内で新しいattachment
投稿のレコードがフォームの投稿に表示されていますが、実際のファイルはアップロードされず、post_meta
も更新されていません。
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, $post_id);
}
}
if ($attach_id > 0) {
$type = get_post_mime_type($attach_id);
if ($type = 'image/jpeg') {
update_post_meta($new_post, '_thumbnail_id', $attach_id);
} elseif ($type = 'video/mp4') {
update_post_meta($new_post, '_video_id', $attach_id);
}
//and if you want to set that image as Post then use:
}
$post_id
は、添付ファイルの親の投稿IDです。
許可が{「何のファイル情報を」エコーない;} 0755 – SML
をチェックする配列があるかどうかを確認するためにあなたのスクリプトに'空の。 – krishna89
は(空($ _ FILES))場合は '追加しようと示して、アップロードの許可ディレクトリ – SML