WP グーグルマップ カスタムフィールド メモ

functions.php

/*##################### カスタムフィールドボックス グーグルマップ ######################## *//*##################### カスタムフィールドボックス グーグルマップ ######################## */
// 固定カスタムフィールドボックスfunction add_map_fields() { //add_meta_box(表示される入力ボックスのHTMLのID, ラベル, 表示する内容を作成する関数名, 投稿タイプ, 表示方法) //第4引数のpostをpageに変更すれば固定ページにオリジナルカスタムフィールドが表示されます(custom_post_typeのslugを指定することも可能)。 //第5引数はnormalの他にsideとadvancedがあります。 add_meta_box( 'google_map_setting', 'グーグルマップ 出力', 'insert_map_fields', 'post', 'normal');}add_action('admin_menu', 'add_map_fields');  // カスタムフィールドの入力エリアfunction insert_map_fields() { global $post;  //下記に管理画面に表示される入力エリアを作ります。「get_post_meta()」は現在入力されている値を表示するための記述です。 echo '地名 入力: <input type="text" name="map_text" value="'.get_post_meta($post->ID, 'map_text', true).'" size="50" /><br>'; }  // カスタムフィールドの値を保存function save_map_fields( $post_id ) { if(!empty($_POST['map_text'])){  update_post_meta($post_id, 'map_text', $_POST['map_text'] ); //値を保存 }else{ //題名未入力の場合 delete_post_meta($post_id, 'map_text'); //値を削除 }}add_action('save_post', 'save_map_fields');

 

出力

<div><div><?php if(post_custom('map_text')): ?> <iframe width="600" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.jp/maps?q= echo get_post_meta($post->ID, 'map_text', true); ?>&amp;z=15&amp;output=embed"></iframe> <?php else: ?> <?php endif; ?></div>