管理画面(投稿の編集・固定ページの編集)のカスタマイズ〔wordpress〕

公開日:2013年1月4日

クライアント様に納品する場合、記事を投稿(編集)ページで、非表示にしたいメタボックスがあります。
functions.phpに下記のコードを追加でコントロールできます。

管理画面のメタボックス(表示オプション)を固定する

表示させたいメタボックスは、arrayから削除してください。投稿の編集(固定ページの編集)で「ページのソース」を見ると大体分ります。(下記はすでに自分用に成型しているコードです)

/**投稿ページ*/
function my_metaboxhidden_post($result, $option, $user){
  return array('custom_css', 'trackbacksdiv', 'commentstatusdiv', 'commentsdiv', 'shortcode_get_custom_field_values', 'authordiv',
    'slugdiv', 'revisionsdiv','postcustom');
}
add_filter('get_user_option_metaboxhidden_post', 'my_metaboxhidden_post', 10, 3);
add_filter('get_user_option_managepostcolumnshidden', 'my_metaboxhidden_post', 10, 3);

/**固定ページ*/
function my_metaboxhidden_page($result, $option, $user){
  return array('custom_css', 'commentstatusdiv', 'commentsdiv', 'slugdiv', 'revisionsdiv', 'authordiv', 'shortcode_get_custom_field_values');
}
add_filter('get_user_option_metaboxhidden_page', 'my_metaboxhidden_page', 10, 3);
add_filter('get_user_option_managepagecolumnshidden', 'my_metaboxhidden_page', 10, 3);

スクリーンを1列にする

解像度の小さいモニターを利用しているクライアント様の場合、2列だとメタボックスが画面からはみ出てしまいますので、1列にして納品することがあります。

/**投稿ページ*/
function my_screen_layout_post($result, $option, $user){
  return 1;
}
add_filter('get_user_option_screen_layout_post', 'my_screen_layout_post', 10, 3);

/**固定ページ*/
function my_screen_layout_page($result, $option, $user){
  return 1;
}
add_filter('get_user_option_screen_layout_page', 'my_screen_layout_page', 10, 3);

管理画面のメタボックスの位置をコントロール

クライアント様がメタボックスの位置をドラッグ&ドロップで変更しても、次回開いたときには元に戻ります。

function my_footer() {
echo '<script type="text/javascript">
  //<![CDATA[
  jQuery(function(){
    jQuery("#normal-sortables").prepend(jQuery("#side-sortables").children("#categorydiv"));
    jQuery("#normal-sortables").append(jQuery("#side-sortables").children("#submitdiv"));
    jQuery("#categorydiv").prependTo(jQuery("#normal-sortables"));
    jQuery("#submitdiv").appendTo(jQuery("#normal-sortables"));
  });
  //]]>
  </script>';
}
add_action('admin_footer', 'my_footer');

参照元 : wpxtreme