WordPress投稿画面のメタボックスの配置を変更する方法

WordPress投稿画面のメタボックスの配置を変更する方法

WordPress投稿画面のメタボックスの配置を変更する方法

WordPressの投稿画面で、メタボックスの配置を変更する方法をご紹介いたします。

通常は、ドラッグ&ドロップで移動できますが、後述する方法で配置を変更すると位置が固定され、ドラッグ&ドロップで移動したとしても、次に投稿画面を開いた時にはまた元の位置に戻ります。

さらに、タイトルと本文の間など、通常はドラッグ&ドロップで移動できない箇所にも配置することが可能です。

WordPress投稿画面のメタボックスの配置を変更する方法

適用しているテーマのfunctions.phpに以下のようなコードを追加します。

function metabox_place_change_script( $hook ) {
  if ( $hook == 'post.php' || $hook == 'post-new.php' ) {
$script = <<< SCRIPT
jQuery(function($) {
  $('移動したいメタボックスのID').insertAfter('移動先メタボックスのID');
});
SCRIPT;
    wp_add_inline_script( 'editor', $script );
  }
}
add_action( 'admin_enqueue_scripts', 'metabox_place_change_script' );

「移動したいメタボックスのID」で配置を変更するメタボックスを指定してください。「移動先メタボックスのID」で指定したメタボックスの下に配置されます。

各メタボックスのIDは以下の通りです。

タイトル#titlediv
本文#postdivrich
カテゴリー#categorydiv
タグ#tagsdiv-post_tag or #post_tagdiv
公開#submitdiv
アイキャッチ画像#postimagediv
フォーマット#formatdiv
抜粋#postexcerpt
トラックバック#trackbacksdiv
ディスカッション#commentstatusdiv
作成者#authordiv

例えば、「公開」を「タグ」の下に移動したい場合は、以下のように記述します。

function metabox_place_change_script( $hook ) {
  if ( $hook == 'post.php' || $hook == 'post-new.php' ) {
$script = <<< SCRIPT
jQuery(function($) {
  $('#submitdiv').insertAfter('#tagsdiv-post_tag');
});
SCRIPT;
    wp_add_inline_script( 'editor', $script );
  }
}
add_action( 'admin_enqueue_scripts', 'metabox_place_change_script' );

もしうまく機能しない場合は、メタボックスのIDを調べてみてください。環境によってIDが違う可能性があります。実際に複数の環境で確認してみたところ、WordPressのバージョンは同じでも「タグ」のIDは”#tagsdiv-post_tag”と”#post_tagdiv”のパターンがありました。

あとがき

メタボックスの配置を固定したい時に使える方法です。ユーザーを後でいくつも追加する時なんかは役立つと思います。

ぜひ参考にしていただけると幸いです。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です