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内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

投稿内容に応じてwpautopを制御する(2013年8月13日 更新)

投稿内容を表示する the_content関数では、 wpautop関数がフィルターの1つとして呼び出され、改行をbrタグに変換したり、pタグで調整したりする。この機能自体は便利なのだが、きちんとデザインされたHTMLソースを流し込んだ場合はこの機能は好ましくない。そんなわけで、記事内容に応じてwpautop関数を制御できないか考えてみた。

親子の固定ページで同じテンプレートを使う(2013年3月20日 更新)

固定ページのテンプレートファイルは「page.php」か、ページ名(スラッグ)または投稿IDを指定したテンプレートファイルになる。固定ページでページデザインが数パターンある場合、通常は「page.php」で振り分けることになるが、もう少しスマートにできないか考えてみた。

管理画面でツールバー(Admin bar)を非表示にする(2013年3月5日 更新)

WordPress使ってちょっと変わったサイトを構築する際、管理画面のツールバーを表示させたくないケースがある。一般に公開するサイト側であれば、 show_admin_bar関数で非表示にできるのだが、管理画面ではこれを使ってもツールバーは消えてくれない。

カスタムフィールド関連関数のおさらい(2012年6月22日 更新)

カスタムフィールドは、投稿記事の拡張情報としてよく利用されている。投稿ページで登録した情報をアーカイブや投稿ページで表示しているが、投稿ページを表示する際にカスタムフィールドの値を更新して、サイドバーのようなページ内要素に利用したりしている。