[WordPress] WordPress のフロント エンドから添付ファイルのアップロード

スポンサーリンク

Question

イベントを投稿する (カスタム ポスト) ログインしているユーザーを許可するフロント エンド上のフォームがあります。私のフォーム現在正常に動作場合があります – しかし、ユーザーが接続されているイメージ画像アップロード フィールド (‘postImage’) は省略可能でありエラーなしで画面がブランクになるイメージがアタッチされていない場合 (ログなしいずれか)。私のデータベース内のフィールド ‘bgc_event_pimg’ の検査を取得:

O:8:"WP_Error":2:{s:16:"WP_Errorerrors";a:1:{s:12:"upload_error";a:1:{i:0;s:21:"No file was uploaded.";}}s:20:"WP_Errorerror_data";a:0:{}}

によってが原因だと思う: ($_FILES $file [‘error’] – フィールド/脱退を無視するのではなくそれをブランク、エラーを挿入するが、適切に対処する方法のことがわからない

 if ($_FILES['postImage']) {
   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){
  update_post_meta($post_id,'bgc_event_pimg',$attach_id);
 }

; functions.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;
} 

多くのおかげで

答え

このフロント エンドから画像をアップロードするワードプレスのプラグインを使用することができます

https://wordpress.org/plugins/wp-user-frontend/

おかげで

http://stackoverflow.com/questions/27313947/uploading-an-attachment-from-wordpress-front-end

スポンサーリンク

Leave a Reply