管理バーの項目の全削除・修正・追加
管理画面の管理バーのメニュー項目の削除、変更、追加を行い、高機能を必要としない一般ユーザーが使いやすいようにします。
コード
// -------------------------------- // 管理バーの項目の全削除・修正・追加 // -------------------------------- function hk_functions_add_admin_bar_menus() { remove_all_filters('admin_bar_menu'); add_action( 'admin_bar_menu', 'hk_functions_admin_bar_menu' ); return; } add_action( 'add_admin_bar_menus', 'hk_functions_add_admin_bar_menus' ); // 管理バーの項目の修正・追加 function hk_functions_admin_bar_menu( $wp_admin_bar ) { // サイト名(修正復活) $blogname = get_bloginfo('name'); if ( ! $blogname ) $blogname = 'サイト名無し'; $title = wp_html_excerpt( $blogname, 40, '…' ); $wp_admin_bar->add_menu( array( 'id' => 'site-name', 'title' => $title, 'href' => home_url( '/' ), 'meta' => array( 'target' => '_blank' ), ) ); // 投稿を表示(修正復活) $current_screen = get_current_screen(); if (( $current_screen->base == 'post' ) && ( $current_screen->action != 'add' )) { $post = get_post(); $post_type = $post->post_type; if (( $post_type == 'post' ) || ( $post_type == 'page' )) { if ( $post_type == 'post' ) $title = '投稿を表示'; else $title = '固定ページを表示'; $wp_admin_bar->add_menu( array( 'id' => 'view', 'title' => $title, 'href' => get_permalink( $post->ID ), 'meta' => array( 'target' => '_blank' ), ) ); } } // ログアウトの追加 $wp_admin_bar->add_menu(array( 'id' => 'hk_functions_logout', 'title' => 'ログアウト', 'href' => wp_logout_url() )); // 挨拶の追加 date_default_timezone_set('Asia/Tokyo'); list($sec, $min, $hour, $mday, $mon, $year, $wday) = localtime(); if ( $hour < 6 ) $greeting = 'こんばんは '; else if ( ( $hour >= 6 ) && ( $hour < 10 ) ) $greeting = 'おはよう '; else if ( ( $hour >= 10 ) && ( $hour < 18 ) ) $greeting = 'こんにちは '; else $greeting = 'こんばんは '; $current_user = wp_get_current_user(); $howdy = $greeting.$current_user->last_name.' '.$current_user->first_name.' さん '; $wp_admin_bar->add_menu( array( 'id' => 'hk_functions_my-account', 'parent' => 'top-secondary', 'title' => $howdy, 'href' => '', ) ); // Add secondary menus.(復活) wp_admin_bar_add_secondary_groups( $wp_admin_bar ); return; }
表示オプション 管理者以外:非表示
表示オプションを非表示にして、高機能を必要としない一般ユーザーが使いやすいようにします。
表示オプションボタンも非表示になります。
コード
// -------------------------------- // 表示オプション 管理者以外:非表示 // -------------------------------- function hk_functions_screen_options_show_screen( $show_screen ) { if ( current_user_can('administrator') ) return $show_screen; return false; } add_filter( 'screen_options_show_screen', 'hk_functions_screen_options_show_screen' );
ヘルプ 非表示
カスタマイズが多くなるとヘルプの内容と異なってきます。ユーザーに誤解を与えてはいけないので非表示にします。
ヘルプボタンも非表示になります。
コード
// -------------------------------- // ヘルプ 非表示 // -------------------------------- function hk_functions_in_admin_header() { get_current_screen()->remove_help_tabs(); get_current_screen()->set_help_sidebar(''); return; } add_action( 'in_admin_header', 'hk_functions_in_admin_header' );
アドミニメニュー追加
アドミニメニューに次のメニューを追加します。
・固定ページの子メニューにゴミ箱
・投稿の子メニューにゴミ箱
・オプションメニュー
オプションメニューは、WordPress の設定メニューやプラグインの設定メニューで設定した内容を表示します。デバッグに便利です。設定の編集もできるようですが、入力を間違える危険性があるので、内容確認にだけ利用しています。
オプションメニューはデバッグ目的ですので、登録順位は100番以降、権限は管理者に設定しています。
オプションメニューの場合、parent_file を設定しないとアドミニメニューの表示が狂います。
コード
// -------------------------------- // アドミニメニュー追加 // -------------------------------- function hk_functions_add_admin_menu() { global $menu; // 固定ページ 子メニュー ゴミ箱 追加 $parent_slug = 'edit.php?post_type=page'; $page_title = 'ゴミ箱'; $menu_title = 'ゴミ箱'; $capability = 'edit_pages'; $menu_slug = 'edit.php?post_status=trash&post_type=page'; $function = ''; add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function ); // 投稿 子メニュー ゴミ箱 追加 $parent_slug = 'edit.php'; $page_title = 'ゴミ箱'; $menu_title = 'ゴミ箱'; $capability = 'edit_posts'; $menu_slug = 'edit.php?post_status=trash&post_type=post'; $function = ''; add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function ); // オプションメニュー登録 $order = 100; while ( isset( $menu[ $order ] ) ) $order++; $page_title = 'WP OPTIONS'; $menu_title = 'WP OPTIONS'; $capability = 'activate_plugins'; $menu_slug = 'options.php'; $function = ''; $icon_url = 'dashicons-wordpress-alt'; add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $order ); return; } add_action( 'admin_menu', 'hk_functions_add_admin_menu' ); // -------------------------------- // parent_file の設定 オプションメニュー // -------------------------------- function hk_functions_parent_file( $parent_file ) { global $pagenow; if ( $pagenow == 'options.php' ) return 'options.php'; return $parent_file; } add_filter( 'parent_file', 'hk_functions_parent_file' );
メニューを閉じる 非表示
多機能を必要としない一般ユーザーが使いやすいようにします。
コード
// -------------------------------- // メニューを閉じる 非表示 // (スタイル記述) // -------------------------------- function hk_functions_admin_head() { echo '<style type="text/css">'."\n"; echo ' #collapse-menu { display: none !important; }'."\n"; echo '</style>'."\n"; return; } add_action( 'admin_head', 'hk_functions_admin_head' );
更新情報 管理者以外非表示
WordPressの更新情報は管理者以外には不要な情報です。
コード
// -------------------------------- // 更新情報 管理者以外非表示 // -------------------------------- function hk_functions_pre_site_transient_update_core( $pre_site_transient ) { if ( current_user_can('administrator') ) return $pre_site_transient; return null; } add_filter( 'pre_site_transient_update_core', 'hk_functions_pre_site_transient_update_core' );
ご利用ありがとう 非表示
次のメッセージを非表示にします。
WordPress のご利用ありがとうございます。
コード
// -------------------------------- // ご利用ありがとう 非表示 // -------------------------------- function hk_functions_admin_footer_text() { return ''; } add_filter( 'admin_footer_text', 'hk_functions_admin_footer_text' );
バージョン情報 非表示
ページの末尾に表示されるバージョン情報を非表示にします。一般ユーザーに不要です。管理者は、更新情報で確認できます。
コード
// -------------------------------- // バージョン情報 非表示 // -------------------------------- function hk_functions_update_footer( $content ) { return ''; } add_filter( 'update_footer', 'hk_functions_update_footer', 11 );
このプログラムをお使いになる場合は、お使いになる方の自己責任でお願いします。