//以下Ajax通信用の追記コード header("Access-Control-Allow-Origin: *"); //複数のサーバーとのやりとりを許可するコード add_action('wp_ajax_tell_me', 'tell_me'); // ログイン状態のユーザーからのアクセスで動作する add_action('wp_ajax_nopriv_tell_me', 'tell_me'); // 非ログインのユーザーからのアクセスで動作する //サーバー側で行われる処理 function tell_me() { //まずここでは、get_posts関数を使ってカスタムフィールドに登録してあるデータをとってくる作業が必要となる。そのとってきたデータをfor分で //回すことによってresの配列に入れ直すことでwebブラウザ側に送信をする $res = get_posts( array( 'category_name' => 'Uncategorized', //特定のカテゴリースラッグを指定 'posts_per_page' => 20 ,//取得記事件数 // 'meta_query' => array( // array( // 'key' => 'Name', // 'value' => null // ), // array( // 'key' => 'Longitude', // 'value' => null // ), // array( // 'key' => 'Latitude', // 'value' => null // ), // array( // 'key' => 'Address', // 'value' => null // ), ) ); $j =0 ; foreach($res as $post){ setup_postdata($post); $lo[$j]['Longitude'] = get_post_meta( $post->ID , 'Latitude' ,true); //とある投稿記事のとあるカスタムフィールドの値をとるもの $lo[$j]['Latitude'] = get_post_meta( $post->ID , 'Longitude' ,true); // _log(get_post_meta( $post->ID , 'Longitude' ,false)); // _log(get_post_meta( $post->ID , 'Latitude' ,false)); $j++; } // _log($lo); echo json_encode($lo, JSON_UNESCAPED_UNICODE); //AjaxはJSONファイルしか扱えないので、JSON形式にエンコードする _log(json_encode($lo, JSON_UNESCAPED_UNICODE)); die(); // $id = $_POST['id']; // $res[0] = get_the_title($id); // $res[1] = get_post_meta($id,'name',true); // _log($res); // header("Content-Type: application/json; charset=utf-8"); // header("Access-Control-Allow-Origin: *"); // echo json_encode($res, JSON_UNESCAPED_UNICODE); // // die(); } if(!function_exists('_log')){ function _log($message) { if (WP_DEBUG === true) { if (is_array($message) || is_object($message)) { error_log(print_r($message, true)); } else { error_log($message); } } } }
longitude latitude を逆にいれてしまわないように注意