WordPressの管理画面にあるメタボックスが、デフォルトで開閉して中身の表示・非表示を切り替えたりドラッグして表示位置を変更できるのを無効化する方法です。

メタボックスとは、例えばWordPressの記事投稿画面で抜粋やカテゴリーの入力・選択を表示しているボックスのことで、これはボックスを開閉したりドラッグして移動させることができるようになっています。
ただ、この開閉できる機能やドラッグできる機能があることによって、入力欄が消えてしまったとか勝手にボックスが移動しているみたいな連絡を(そんなわけないと思いつつ...)まれにですが受けることがあるので、そういったクライアント向けの対策としてメタボックスの開閉機能やドラッグ機能を無効化していきます。

実装にはfunctions.phpに下記を記述します。

functions.php
add_action( 'admin_footer-post-new.php', 'disable_switching_dragging_meta_box' );
add_action( 'admin_footer-post.php', 'disable_switching_dragging_meta_box' );
function disable_switching_dragging_meta_box() {
?>
  <script>
    jQuery(function($) {
      $('.postbox').removeClass('closed');
      $('.postbox .hndle').off('click').css('cursor', 'default');
      $('.meta-box-sortables').sortable('disable');
      $('.postbox .handlediv').hide();
    });
  </script>
<?php
}

内容としてはjQueryを使用して開閉機能とドラッグ機能の両方を無効化しています。

まず、$('.postbox').removeClass('closed');で閉じた状態のメタボックスがなく常に開いた状態で表示させるようにします。 $('.postbox .hndle').off('click').css('cursor', 'default');については、クリックしてメタボックスが開閉されるという動きを無効化しつつ、そのままだとドラッグできることを表すカーソルになってしまっているのをdefaultに指定しています。 $('.meta-box-sortables').sortable('disable');は、メタボックスをドラッグできる機能を無効化にしており、最後の$('.postbox .handlediv').hide();は矢印を表示している要素を非表示にしています。

以前こういったことをやった際はwp_deregister_script( 'postbox' );を使ってとりあえずどちらの機能も無効化して、いろいろ非表示にしたい部分は別途CSSを記述するという形をとっていたのですが、この方法だと詳しく調査していませんがJavaScriptが絡んでいる他部分に影響が出たり、結局別途CSSを書く必要があったりしたので、それならいっそのことすべてjQueryでやってしまえばと思い、最近はこの方法を利用しています。