WordPressの管理画面に、オリジナルのメタボックスを追加する方法です。
メタボックスというのは、公開ボックスとか、カテゴリー選択ボックスみたいなやつです。
カスタムフィールドでも実現できますが、プラグインの制作時などに追加したいときに使えます。
コード
// 中身 function nskw_meta_box_inside() { echo 'I added a new meta box myself! Bravo!!'; } // メタボックスを追加する関数 function nskw_meta_box_output() { add_meta_box('nskw_meta_post_page', 'Test Meta Box', 'nskw_meta_box_inside', 'post', 'side', 'low' ); } // フックする add_action('admin_menu', 'nskw_meta_box_output' );
解説
- メタボックスの中身のHTMLを決める
- メタボックスを追加する関数
- 2の関数をフックする
という順番です。
2番目のメタボックスを追加する関数は、以下のようになっています。
add_meta_box( $id, $title, $callback, $page, $context, $priority );
- $id
- ここに書いたのが、ボックスのhtml divタグのidになる。cssとかjsと使う時に便利
- $title
- ボックスのタイトル
- $callback
- 最初のHTML出力の関数名
- $page
- ‘post’、’page’、’link’、’自分が加えたカスタムポストタイプのスラッグ名’から選ぶ
- $context
- 左側の幅広に加えるのか(normal / advanced)、サイドに加えるのか(side)を指定。
- $priority
- ‘low’,’high’を指定して上の方に来るか下の方に来るかを指定
使い方
上記をテーマのfunctions.phpに追加するか、プラグインにして有効化するかです。
発展
僕はhtmlが出ればいいだけなので、これで終りですが、フォームとして使いたい時には、
- 権限の認証
- nonce認証
- フォームの値を保存する
というのが別途必要なので、下記を参考に。
functions.phpでのWordPress(ワードプレス)管理画面カスタマイズ
Codex>関数リファレンス/add meta box
コメント