PHP
1<?php 2global $create_error; 3$create_error = array(); 4function _my_create_project(){ 5$option1=$_POST['option1']; 6$option2=$_POST['option2']; 7$option3=$_POST['option3']; 8$option4=$_POST['option4']; 9$option5=$_POST['option5']; 10$option6=$_POST['option6']; 11$option7=$_POST['option7']; 12$option8=$_POST['option8']; 13$option9=$_POST['option9']; 14$option10=$_POST['option10']; 15 global $create_error; 16 if( 17 is_page('create-project') 18 && 19 is_user_logged_in() 20 && 21 isset($_POST['_wpnonce']) 22 && 23 wp_verify_nonce($_POST['_wpnonce'], 'create_project'); 24 ){ 25 if(!isset($_POST['title']) || empty($_POST['title'])){ 26 $create_error[] = 'プロジェクト名が入力されていません。'; 27 } 28 if(!isset($_POST['price']) || empty($_POST['price'])){ 29 $create_error[] = '予算が入力されていません。'; 30 } 31 if(!isset($_POST['delivery']) || empty($_POST['delivery'])){ 32 $create_error[] = '納期が指定されていません。'; 33 } 34 if (isset($_FILES['image']['error']) && is_int($_FILES['image']['error'])) { 35 if (!$_FILES['image']['error']) { 36 if ($_FILES['image']['size'] > 1000000) { 37 $create_error[] = 'ファイルサイズが大きすぎます。'; 38 } 39 $imageInfo = getimagesize($_FILES['image']['tmp_name']); 40 list($orig_width, $orig_height, $image_type) = $imageInfo; 41 if ($imageInfo === false) { 42 $create_error[] = '画像ファイルではありません。'; 43 } else { 44 $ext = substr($_FILES['image']['name'], strrpos($_FILES['image']['name'], '.') + 1); 45 if (false === $ext = array_search( 46 $imageInfo['mime'],array( 47 'jpg' => 'image/jpeg', 48 'png' => 'image/png', 49 'gif' => 'image/gif', 50 ),true 51 )) {$create_error[] = '画像形式が未対応です。';} 52 } 53 $user = wp_get_current_user(); 54 $upload_dir = wp_upload_dir(); 55 $image_url = $upload_dir['path'] . '/'. $user->get('user_login').'-'. date(YmdHis) .'.'. $ext; 56 if (!move_uploaded_file($_FILES['image']['tmp_name'],$image_url)) { 57 $create_error[] = 'ファイル保存時にエラーが発生しました。'; 58 } 59 } else { 60 $create_error[] = 'ファイルが選択されていません。'; 61 } 62 } 63 //エラーが無かったら投稿を追加 64 if(empty($create_error)){ 65 $content = "<p>1</p><p>".(string)htmlspecialchars($_POST['project-type'])."</p><p>目安予算</p><p>".(string)htmlspecialchars($_POST['price'])."円</p><p>希望納期</p><p>". 66 (string)htmlspecialchars($_POST['delivery'])."</p><p>オプション</p>"; 67 foreach($_POST['option'] as $value){ 68 $content .= "<p>".htmlspecialchars($value)."</p>"; 69 } 70 $post_id = wp_insert_post(array( 71 'post_title' => (string)htmlspecialchars($_POST['title']), 72 'post_content' => $content, 73 'post_status' => 'publish', 74 'post_author' => get_current_user_id(), 75 'post_type' => 'abcc', 76 'post_category' => $option1.','.$option2.','.$option3.','.$option4.','.$option5.','.$option6.','.$option7.','.$option8.','.$option9.','.$option10,), true); 77 $image_data = file_get_contents($image_url); 78 $filename = basename($image_url); 79 if(wp_mkdir_p($upload_dir['path'])) 80 $file = $upload_dir['path'] . '/' . $filename; 81 else 82 $file = $upload_dir['basedir'] . '/' . $filename; 83 file_put_contents($file, $image_data); 84 $wp_filetype = wp_check_filetype($filename, null ); 85 $attachment = array( 86 'post_mime_type' => $wp_filetype['type'], 87 'post_title' => sanitize_file_name($filename), 88 'post_content' => '', 89 'post_status' => 'inherit' 90 ); 91 $attach_id = wp_insert_attachment( $attachment, $file, $post_id ); 92 require_once(ABSPATH . 'wp-admin/includes/image.php'); 93 $attach_data = wp_generate_attachment_metadata( $attach_id, $file ); 94 wp_update_attachment_metadata( $attach_id, $attach_data ); 95 set_post_thumbnail( $post_id, $attach_id ); 96 //データの挿入に成功していたら移動 97 if(!is_wp_error($post_id)){ 98 99 //ページを移動 100 header('Location: '.get_permalink($post_id)); 101 die(); 102 }else{ 103 $create_error[] = 'エラーが発生しました'.$post_id->get_error_message(); 104 } 105 } 106 } 107} 108add_action('template_redirect', '_my_create_project'); 109 110function show_error(){ 111 global $create_error; 112 if(!empty($create_error)){ 113 echo '<div id="error">'; 114 echo implode('<br />', $create_error); 115 echo '</div>'; 116 } 117} 118?>
なぜでしょう。
エラーは表示していません、wordpressなので