ダッシュボードの投稿画面に入力セクションを追加したい

ダッシュボードの投稿画面に項目を追加するには、カスタムフィールドを利用するのが一般的だ。
独自の項目がある程度まとまっている場合には、add_meta_box()で入力セクションを追加したほうが、使い勝手がぐっとよくなるだろう。手順としては、ダッシュボードがロードされたタイミングでadmin_menu()をフックし、add_meta_box()を実行することで実装できる。

add_action('plugins_loaded', 'my_init');

function my_init() {

	if(is_admin()) {
		add_action( 'admin_menu', 'my_dashboard', 1);
	}
}

function my_dashboard() {
	add_meta_box('my_metabox', __('今日のお天気情報', 'my_metabox'), 'my_section', 'post');

}

function my_section() {

	$my_weather = '(初期値を設定またはDBから取得)';
	$my_high = '(初期値を設定またはDBから取得)';
	$my_low = '(初期値を設定またはDBから取得)';

	?>
		天気:<input type=text name="my_weather" id="my_weather" value='<?php echo $my_weather; ?>' />
		最高気温:<input type=text name="my_high" id="my_high" value='<?php echo $my_high; ?>' />
		最低気温:<input type=text name="my_low" id="my_low" value='<?php echo $my_low; ?>' />
	<?php
}

入力項目を保存するには、”save_post”、”publish_post”などのアクションフックを利用し、DBのテーブル[wp_postmeta]にinsertする。

1件のコメント

コメントを残す

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>