前提・実現したいこと
WordPressのmedia_handle_upload関数を利用し、
「独自のカスタムフィールド」で画像を投稿したい。
現在、カスタムフィールド系のプラグインを用いず
function.phpを編集し、編集ページの「独自のカスタムフィールド」で固定ページを編集出来るようにしています。
そこで、
media_handle_upload関数を利用し、フォームから取得した画像をアップロードしたいのですが、下記のエラーが出て困っています。
発生している問題・エラーメッセージ
画像をアップロードしている処理が終わらず、
止まったままになります。
(エラーで止まってますが画像自体はメディアライブラリに上がってました)
![
該当のソースコード
PHP
1//カスタムフィールドの入力エリア 2function insert_custom_fields() { 3 global $post; 4 //get page by path 引数に渡されたパスで示される固定ページオブジェクトを返します。 5 $top_page = get_page_by_path("top"); 6 $top_page_id = $top_page->ID; 7 if($post->ID==$top_page_id){ 8 echo '<p>アルバムのジャケット画像: <input type="file" name="AlbumJacket" accept="image/*" /></p>'; 9 } 10} 11 12 13//カスタムフィールドの値を保存 14function save_custom_fields( $post_id ) { 15 //ページ URL からサイトアドレス部分を除いたものから固定ページオブジェクトを取得 16 $top_page = get_page_by_path("top"); 17 //固定ページオブジェクトからpage_idを取得 18 $top_page_id = $top_page->ID; 19 if($post_id==$top_page_id){ 20 if (!empty($_FILES['AlbumJacket'])) { 21 require_once(ABSPATH . 'wp-admin/includes/image.php'); 22 require_once(ABSPATH . 'wp-admin/includes/file.php'); 23 require_once(ABSPATH . 'wp-admin/includes/media.php'); 24 $attachment_id = media_handle_upload('AlbumJacket'); 25 if ( is_wp_error( $attachment_id ) ) { 26 // 画像のアップロード中にエラーが起きた。 27 } else { 28 // 画像のアップロードに成功 ! 29 } 30 } 31 } 32} 33add_action('save_post', 'save_custom_fields');
試したこと
申し訳ないですが、解決方法が分からず試したことはありません。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー