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

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

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

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

[php]
/**投稿ページ*/
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);
[/php]

スクリーンを1列にする

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

[php]
/**投稿ページ*/
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);
[/php]

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

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

[php]
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’);
[/php]

参照元 : wpxtreme