add_meta_box

説明

void add_meta_box( string $id, string $title, string $callback, string $page [, string $context = 'advanced' [, string $priority = 'default' [, array $callback_args = null ] ] ] )
投稿ページに独自のメタボックスを表示する。

パラメータ

  • $id
    メタボックスであるdivタグのid属性値を指定。
  • $title
    メタボックスのタイトルを指定。
  • $callback
    メタボックスの内容を表示する関数名を指定。
  • $page
    ページの種類として'post'、'page'、'link'、'dashboard'、カスタム投稿タイプ名の何れかを指定。
  • $context
    メタボックスの種別として'normal'、'advanced'、'side'の何れかを指定(省略時は'advanced')。
  • $priority
    メタボックスの優先度として'high'、'core'、'default'、'low'の何れかを指定(省略時は'default')。
  • $callback_args
    表示用関数のパラメータを指定(省略時はnull)。

返り値

返り値はありません。

注意

この関数は管理者ページ専用なので、admin_initアクションで使用する(他に適切なアクションがあるかもしれないが)。
ダッシュボードに表示する場合は、パラメータ$contextに'normal'または'side'を指定する。

メタボックスの内容を表示するための関数は、次に示すように省略可能な2つのパラメータを受け取る仕様になっている。
$outputには、パラメータ$pageが'post'の場合は編集する投稿情報オブジェクト、'dashboard'の場合は''のように、メタボックスを表示するページの種類によって値が変わる。
$boxは連想配列となり、本関数の$callback_argsで指定した内容は、$box['args']で参照できる。

function meta_box_callback( [ mixed $output [ , array $box ] ] ) {
}

使用例

  • ダッシュボードに独自のメタボックスを表示する。
    <?php
    add_action( 'admin_init', 'my_admin_init' );
    
    function my_admin_init() {
    	add_meta_box( 'my_meta_box_post', 'Hello', 'my_meta_box', 'dashboard', 'side' );
    }
    
    function my_meta_box() {
    	echo 'Hello world!';
    }
    ?>
  • 投稿ページに独自のメタボックスを表示する。
    <?php
    add_action( 'admin_init', 'my_admin_init' );
    
    function my_admin_init() {
    	add_meta_box( 'my_meta_box_post', 'Hello', 'my_meta_box', 'post' );
    }
    
    function my_meta_box( $param ) {
    	// $paramは投稿情報
    	echo 'Hello world!';
    }
    ?>

フィルター

直接実行するフィルターはありません。

アクション

直接実行するアクションはありません。

ソースファイル

/wp-admin/includes/template.php

最終更新 : 2014年11月16日 17:40



お勧め

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 更新)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

固定ページを投稿ページ用テンプレートファイル(single.php)で表示する(2013年7月31日 更新)

固定ページと投稿ページのデザインが共通の場合、同じ内容のsingle.phpとpage.phpを用意すれば事足りるが、デザインの修正時は二度手間になってしまう。そこで、固定ページをsingle.phpで表示するようにできないか考えてみた。

もうquery_postsは呼ばない(2011年9月27日 更新)

トップページやカテゴリーページで標準の条件に少し手を加えた投稿情報を表示するケースがある。そんな時、テンプレートファイルの先頭で query_posts関数を呼び出して投稿情報を再抽出していたのだが、フィルター処理をうまく使えばquery_posts関数を呼び出さなくても大丈夫みたいだ。

使っていないか確認しないとね!(2017年11月18日 更新)

2003年に誕生したWordPress。その歴史の中には、廃止予定(deprecated)となっている関数がいくつも存在する。それらの関数をテーマやプラグインで使用するべきではないし、使用しているなら代替の関数に書き換えるべきである。ここでは3.24.9.0現在、廃止予定となっている関数をまとめて紹介する。

ホームディレクトリから過去のファイルを削除する(2013年1月27日 更新)

WordPressで構築したサイトのホームディレクトリには、現在使われていないファイルが残っている時がある。3.5.1もリリースされたことだし、これを機にホームディレクトリを整理整頓した。