テーマやプラグイン等で追加される投稿の各種設定ができるメタボックス。
「表示オプション」から表示・非表示を切り替えることはできますが、それでもやっぱり消したいというときの方法です。
※主にクラシックエディターの場合の方法です。
メタボックスを削除する
早速ですが、メタボックスの削除は remove_meta_box
でできます。
remove_meta_box( $id, $screen, $context );
$id
はメタボックスの名前、$screen
は投稿タイプ等、 $context
は「normal」「side」「advanced」を指定します。
サンプルコードはこちら▼
add_action(
'add_meta_boxes',
function() {
remove_meta_box( 'pageparentdiv', 'post', 'normal' );
},
PHP_INT_MAX
);
$screen
については文字列の他、投稿タイプ名の配列でも受け付けてくれるので、複数の投稿タイプからまとめてメタボックスを削除したい場合には配列を渡してあげると楽でしょう。
メタボックスのIDをざっくり調べる
メタボックスのIDはソースを見たりして調べるのが一番ですが、数が多くなったりすると正直もうちょっと楽をしたい部分でもあります。
そういうときはデベロッパーツールなどでメタボックスのHTMLにあるidがメタボックスのidになっているので、こちらをコピーして使うとほんのちょっと楽できます。
それでも上手く非表示にならない場合はプラグイン等のソースを確認しましょう。
また、$context
について、クラシックエディターであればそれほど気にしなくても消してくれるようですが、ブロックエディターの場合は「normal」「side」「advanced」まで合っていないと消えてくれませんでした。
$context
については3種類しか指定がないので、消えなかったら別の値を入れるなどして試してみましょう。
また、ブロックエディターの場合でadd_meta_boxで追加されたメタボックス以外はこの方法では消えないので注意が必要です。