フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【WordPress】管理画面のメタボックスをドラッグ&ドロップでの移動を禁止・無効化する方法

WordPress
ドラッグ&ドロップ
メタボックス
管理画面

WordPressのクラシックエディタを使用している場合、投稿画面は「カテゴリー」や「アイキャッチ画像」など、それぞれ独立したブロック、メタボックスで構成されています。
そしてこのメタボックスにカーソルを合わせると十字架マークになり、ドラッグ&ドロップすることで場所を移動させることが出来ます。
この機能を使い、よく使う項目を上の方に配置したり、管理画面を気軽に使いやすくカスタマイズすることが出来ます。
しかし、中にはこの配置を勝手に移動させたくないという場合も存在するかもしれません。
この記事ではこのメタボックスをドラッグ&ドロップで移動出来る機能を禁止・無効化する方法をご紹介したいと思います。

管理画面のメタボックスをドラッグ&ドロップでの移動を禁止・無効化する

WordPressのクラシックエディタの管理画面にあるメタボックスをドラッグ&ドロップでの移動を禁止・無効化する場合、以下のコードをfunctions.phpに記述します。


/* ====================================================================
 ■ 管理画面のメタボックスのドラッグ&ドロップを禁止・無効化する
==================================================================== */

function disabele_drag_and_drop_metabox() {
    $screen = get_current_screen();
    $post_types = array( '投稿タイプ名', '投稿タイプ名', '投稿タイプ名' );
    if ( in_array( $screen->post_type, $post_types ) ) {
?>
    <script>
        jQuery(function($) {
            $('div.postbox-header > h2').removeClass('hndle');
            $('button.handle-order-higher').remove();
            $('button.handle-order-lower').remove();
        });
    </script>
<?php
    }
}
add_action( 'admin_footer-post-new.php', 'disabele_drag_and_drop_metabox' );
add_action( 'admin_footer-post.php', 'disabele_drag_and_drop_metabox' );

上のコードの3行目

$post_types = array( '投稿タイプ名', '投稿タイプ名', '投稿タイプ名' );

この部分にメタボックスのドラッグ&ドロップを禁止・無効化したい投稿タイプ名を指定します。

例えば、「投稿」と「固定ページ」の更新画面でメタボックスのドラッグ&ドロップを禁止・無効化したい場合は以下のようにします。

$post_types = array( 'post', 'page' );

「投稿」の投稿タイプ名はpost、「固定ページ」の投稿タイプ名はpageがそれぞれ設定されています。

まとめ

いかがでしたか?
管理画面を簡単にカスタマイズすることが出来る便利な機能ですが、時には無くしてしまいたいな思うこともあります。
そんな時はこのコードをfunctions.phpに貼り付けて禁止・無効化してみて下さい。