WPMEMO
Wordpress memorandum Blog and Lifestyle

【WordPress】管理画面から不要なものを消す

管理者以下の権限で管理画面のメニューから不要なものを非表示する。

■function.php
function remove_menus () {
if (!current_user_can('administrator')) {
//ここに非表示にする項目を記述
global $menu;
unset( $menu[2] );// ダッシュボード
unset( $menu[5] );// 投稿
unset( $menu[10] );// メディア
unset( $menu[20] );// 固定
unset( $menu[25] );// コメント
unset( $menu[60] );// 外観
unset( $menu[65] );// プラグイン
unset( $menu[70] );// ユーザー
unset( $menu[75] );// ツール
unset( $menu[80] );// 設定
remove_menu_page('edit.php?post_type=mw-wp-form'); //WMWPForm


global $submenu;
unset($submenu['edit.php'][15]); // カテゴリー
unset($submenu['edit.php'][16]); // タグ
}
}
add_action('admin_menu', 'remove_menus');

入力ページの各項目の非表示

■function.php
if (!current_user_can('level_7')) {
function remove_extra_meta_boxes() {
remove_meta_box( 'categorydiv','post','side'); /* 投稿のカテゴリーフィールド */
remove_meta_box( 'postcustom' , 'post' , 'normal' ); /* 投稿のカスタムフィールド */
remove_meta_box( 'postcustom' , 'page' , 'normal' ); /* 固定ページのカスタムフィールド */
remove_meta_box( 'postexcerpt' , 'post' , 'normal' ); /* 投稿の抜粋 */
remove_meta_box( 'postexcerpt' , 'page' , 'normal' ); /* 固定ページの抜粋 */
remove_meta_box( 'commentsdiv' , 'post' , 'normal' ); /* 投稿のコメント */
remove_meta_box( 'commentsdiv' , 'page' , 'normal' ); /* 固定ページのコメント */
remove_meta_box( 'tagsdiv-post_tag' , 'post' , 'side' ); /* 投稿のタグ */
remove_meta_box( 'tagsdiv-post_tag' , 'page' , 'side' ); /* 固定ページのタグ */
remove_meta_box( 'trackbacksdiv' , 'post' , 'normal' ); /* 投稿のトラックバック */
remove_meta_box( 'trackbacksdiv' , 'page' , 'normal' ); /* 固定ページのトラックバック */
remove_meta_box( 'commentstatusdiv' , 'post' , 'normal' ); /* 投稿のディスカッション */
remove_meta_box( 'commentstatusdiv' , 'page' , 'normal' ); /* ページのディスカッション */
remove_meta_box( 'slugdiv','post','normal'); /* 投稿のスラッグ */
remove_meta_box( 'slugdiv','page','normal'); /* 固定ページのスラッグ */
remove_meta_box( 'authordiv','post','normal' ); /* 投稿の作成者 */
remove_meta_box( 'authordiv','page','normal' ); /* 固定ページの作成者 */
remove_meta_box( 'revisionsdiv','post','normal' ); /* 投稿のリビジョン */
remove_meta_box( 'revisionsdiv','page','normal' ); /* 固定ページのリビジョン */
remove_meta_box( 'pageparentdiv','page','side'); /* 固定ページのページ属性 */
}
add_action( 'admin_menu' , 'remove_extra_meta_boxes' );
}
カスタム投稿に作成者を表示

■function.php
if (current_user_can('level_7')) {
add_action('admin_menu', 'myplugin_add_custom_box');
functionmyplugin_add_custom_box()
{
if (function_exists('add_meta_box')) {
add_meta_box('myplugin_sectionid', __('作成者', 'myplugin_textdomain'), 'post_author_meta_box', 'name1', 'advanced');
add_meta_box('myplugin_sectionid', __('作成者', 'myplugin_textdomain'), 'post_author_meta_box', 'name2', 'advanced');
add_meta_box('myplugin_sectionid', __('作成者', 'myplugin_textdomain'), 'post_author_meta_box', 'name3', 'advanced');
add_meta_box('myplugin_sectionid', __('作成者', 'myplugin_textdomain'), 'post_author_meta_box', 'name4', 'advanced');
}
}
}
投稿一覧に項目を追加する

■function.php
function add_posts_columns_custom($columns) {
// 右辺に一覧に表示させたい文字列
$columns['author'] = '作成者'; // 作成者
$columns['postid'] = 'ID'; // 記事ID
return $columns;
}
その他、項目を非表示にする

■function.php
// バージョン更新を非表示にする
add_filter('pre_site_transient_update_core', '__return_zero');
// APIによるバージョンチェックの通信をさせない
remove_action('wp_version_check', 'wp_version_check');
remove_action('admin_init', '_maybe_update_core');

// 管理バーにログアウトを追加
function add_new_item_in_admin_bar() {
global $wp_admin_bar;
$wp_admin_bar->add_menu(array(
'id' => 'new_item_in_admin_bar',
'title' => __('ログアウト'),
'href' => wp_logout_url()
));
}
add_action('wp_before_admin_bar_render', 'add_new_item_in_admin_bar');

//「WordPress」関連の表記を消す
function my_custom_login_logo() {
echo '<style type="text/css">.login h1 a { background-image:url(/images/[画像ファイル名]);background-size: ***px ***px;
width:***px; height:px;***
}</style>';
}
add_action('login_head', 'my_custom_login_logo');

//投稿リストから「すべて」などを消す
function custom_columns($columns) {
if (!current_user_can('level_10')) {
echo '<style type="text/css">li.all,li.publish,li.pending {display:none;}</style>';
}
return $columns;
}
add_filter( 'manage_posts_columns', 'custom_columns' );

// 管理バーの項目を非表示
function remove_admin_bar_menu( $wp_admin_bar ) {
$wp_admin_bar->remove_menu( 'wp-logo' ); // WordPressシンボルマーク
$wp_admin_bar->remove_menu('my-account'); // マイアカウント
}
add_action( 'admin_bar_menu', 'remove_admin_bar_menu', 70 );


//入力画面 現在の状況 のWordPress表示を消す
function my_admin_print_styles(){
if (!current_user_can('level_10')) {
echo '<style type="text/css">.versions p,#wp-version-message{display:none;}</style>';
}
}
add_action('admin_print_styles', 'my_admin_print_styles', 21);


// フッターWordPressリンクを非表示に
function custom_admin_footer() {
echo '<a href="mailto:xxx@zzz">お問い合わせ</a>';
}
add_filter('admin_footer_text', 'custom_admin_footer');