Упрощаем консоль WordPress и убираем лишнее

Опубликовано: 16.04.2018

Когда вы создаете сайт для клиента, иногда некоторые части админ-панели в WordPress надо скрыть, чтобы у заказчика не было к ним доступа. По сути, им к этим частям панели доступ и не нужен, так что почему бы вам не отключить их и не упростить администрирование для вашего заказчика. И вот как это делается...

| Скачать исходники |

Шаг 1. Делаем все через свой плагин

Обычно вам надо провести установку плагина до того, как вы добавите в него любые функциональные возможности. Создайте папку в /wp-content/plugins/ под названием wptuts-simple-admin . Теперь внутри этой папки создайте основной файл PHP для вашего плагина. В угоду стандартам назовем его wptuts-simple-admin.php .


WINDOWS 10 – БОЛЬШЕ FPS В ИГРАХ !

Внутри этого файла поместим следующий код в заглавной его части:

<?php /* Plugin Name: Wptuts+ Simple Admin Plugin URI: http://wp.tutsplus.com/articles/tips-articles/quick-tip-simplifying-the-wordpress-admin-for-your-clients Description: Hides parts of the WordPress admin to keep it simple. Version: 0.1 Author: Japh Author URI: http://wp.tutsplus.com/author/Japh License: GPL2 */ ?>

Мы этот плагин напишем на основе объектно-ориентированного программирования, так что класс поместим под заглавной частью плагина:

<?php class Wptuts_Simple_Admin { function __construct() { // We'll add hooks here } } $wptuts_simple_admin = new Wptuts_Simple_Admin(); ?>

На этом этапе вы можете войти в панель администратора WordPress и увидеть наш плагин. Вы можете также его активировать , а затем вернуться и обновить его, когда мы добавим к этому плагину новые функциональные возможности.

Шаг 2. Скрываем пункты меню, которые мы не используем

Предположим, что вам не нужно использовать меню " Ссылки ", а также меню " Инструменты " и " Настройки " (потому что этим будет заниматься администратор или студия, поддерживающая сайт). Так что давайте просто отключим отображение этих разделов для клиента (добавленный новый код выделен другим цветом):

<?php class Wptuts_Simple_Admin { function __construct() { // Hook onto the action 'admin_menu' for our function to remove menu items add_action( 'admin_menu', array( $this, 'hide_menus' ) ); } // This function removes each menu item using the Page Hook Suffix ( http://codex.wordpress.org/Administration_Menus#Page_Hook_Suffix ) function hide_menus() { // Links page remove_menu_page( 'link-manager.php' ); // Tools page remove_menu_page( 'tools.php' ); // Settings page remove_menu_page( 'options-general.php' ); } } $wptuts_simple_admin = new Wptuts_Simple_Admin(); ?>

Шаг 3. Убираем лишние виджеты

Не знаю как вы, а я считаю, что в Консоли есть несколько установленных виджетов, которые не нужны ни мне, ни моим заказчикам. К их числу относятся виджеты " Входящие ссылки ", " Плагины ", " WordPress Blog " и " Other WordPress News ". Некоторые возразят, что входящие ссылки могут и пригодиться, но я предпочитаю их скрыть и сэкономить место на экране. Эти виджеты представляют собой meta-боксы , от которых можно избавиться, просто добавив следующий новый код (тоже выделен цветом):

<?php class Wptuts_Simple_Admin { function __construct() { // Hook onto the action 'admin_menu' for our function to remove menu items add_action( 'admin_menu', array( $this, 'remove_menus' ) ); // Hook onto the action 'admin_menu' for our function to remove dashboard widgets add_action( 'admin_menu', array( $this, 'remove_dashboard_widgets' ) ); } // This function removes each menu item using the Page Hook Suffix ( http://codex.wordpress.org/Administration_Menus#Page_Hook_Suffix ) function remove_menus() { // Links page remove_menu_page( 'link-manager.php' ); // Tools page remove_menu_page( 'tools.php' ); // Settings page remove_menu_page( 'options-general.php' ); } // This function removes dashboard widgets function remove_dashboard_widgets() { // Remove each dashboard widget metabox for Incoming Links, Plugins, the WordPress Blog and Other WordPress News remove_meta_box('dashboard_incoming_links', 'dashboard', 'core'); remove_meta_box('dashboard_plugins', 'dashboard', 'core'); remove_meta_box('dashboard_primary', 'dashboard', 'core'); remove_meta_box('dashboard_secondary', 'dashboard', 'core'); } } $wptuts_simple_admin = new Wptuts_Simple_Admin(); ?>

Шаг 4. Убираем лишние колонки на странице Всех записей

И в завершение упростим список на странице отображаемых в колонках данных о постах. Если у вас заказчик — единственный автор блога, то какой смысл в колонке " Автор "? Чтобы не тратить место попусту, отключим ее:

<?php class Wptuts_Simple_Admin { function __construct() { // Hook onto the action 'admin_menu' for our function to remove menu items add_action( 'admin_menu', array( $this, 'remove_menus' ) ); // Hook onto the action 'admin_menu' for our function to remove dashboard widgets add_action( 'admin_menu', array( $this, 'remove_dashboard_widgets' ) ); // Hook onto the post type-specific filters to remove columns add_filter( 'manage_posts_columns', array( $this, 'remove_columns' ) ); add_filter( 'manage_pages_columns', array( $this, 'remove_columns' ) ); } // This function removes each menu item using the Page Hook Suffix ( http://codex.wordpress.org/Administration_Menus#Page_Hook_Suffix ) function remove_menus() { // Links page remove_menu_page( 'link-manager.php' ); // Tools page remove_menu_page( 'tools.php' ); // Settings page remove_menu_page( 'options-general.php' ); } // This function removes dashboard widgets function remove_dashboard_widgets() { // Remove each dashboard widget metabox for Incoming Links, Plugins, the WordPress Blog and Other WordPress News remove_meta_box('dashboard_incoming_links', 'dashboard', 'core'); remove_meta_box('dashboard_plugins', 'dashboard', 'core'); remove_meta_box('dashboard_primary', 'dashboard', 'core'); remove_meta_box('dashboard_secondary', 'dashboard', 'core'); } // This function removes post / page list columns function remove_columns( $defaults ) { unset( $defaults['author'] ); return $defaults; } } $wptuts_simple_admin = new Wptuts_Simple_Admin(); ?>

Заключение

С помощью такой вот небольшой кастомизации можно сделать панель администратора WordPress более дружественной для клиентов, Конечно, можно внести еще больше правок, и некоторые из них позволяет выполнить плагин .

Если вы хотите добиться полного контроля, то можно настроить отображение тех или иных плагинов и той или иной структуры панели администратора в зависимости от того, кто из пользователей авторизован в данный момент на сайте.

Источник:
rss