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



お勧め

リビジョンの仕組みを勘違いしてた(2018年9月17日 更新)

過去の投稿情報を記録するリビジョン機能をカスタム投稿タイプで利用しようと思い作りこみしていたが、思惑通りの動きにならなかった。リビジョン機能は投稿情報の更新前の内容を記録するものと勝手に思い込んでいたのだが、どうやらそれは間違いだった。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

MOファイルを作ってみた(2018年7月25日 更新)

テーマやプラグインで使用するMOファイルはWindows環境では「Poedit」アプリを使うことが多かったが、最近では「GlotPress」のようなプラグインも増えてきており、選択肢は広がっている。定期的に開発環境を見直す過程で「Poedit」から「GlotPress」に切り替えようと思ったのだが、微妙にしっくりこなかった。

全投稿を取得するのはnopaging=1でいい(2011年8月31日 更新)

query_posts関数(またはWP_Queryクラス)を使う場合、取得する件数の指定を省略すると管理者ページの「表示設定」-「1ページに表示する最大件数」の指定値分だけの投稿情報を取得する。それでは条件にマッチするすべての投稿情報を取得するには?

Login rebuilderに「XML-RPC設定」を追加しました(2018年5月27日 更新)

公式サイトで公開しているプラグイン「Login rebuilder」をバージョンアップし、XML-RPCリクエストの管理機能を追加しました。Login rebuilderの主たる機能は、ログインページをサイト別にユニークなURLに変更し、ログインページへの不正アクセスを回避することです。WordPressのXML-RPCリクエストはピンバックや外部ツールやサイトなどとの連携に利用されていますが、今回追加した機能ではXML-RPCリクエストの処理に対していくつかの制限できるようにしています。