Когда вы создаете сайт для своего клиента, иногда есть части администратора WordPress, к которым вам не нужен доступ. На самом деле, если им не нужен доступ к ним, почему бы не убрать их с дороги и не упростить администратора для вашего клиента. Вот как…
Шаг 1 Настройка вашего плагина
Как обычно, вам нужно настроить плагин, прежде чем вы сможете добавить к нему какие-либо функции. Создайте себе каталог в / wp-content / plugins / с именем wptuts-simple-admin . Теперь внутри этого каталога создайте основной файл PHP для вашего плагина. Ради стандартизации мы назовем его wptuts-simple-admin.php .
Внутри этого файла мы помещаем информацию заголовка плагина:
|
01
02
03
04
05
06
07
08
09
10
11
|
<?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
*/
?>
|
Мы собираемся написать этот плагин для объектно-ориентированного программирования, который Том недавно представил для тех, кто незнаком, поэтому мы установим наш класс под заголовком плагина:
|
01
02
03
04
05
06
07
08
09
10
11
|
<?php
class Wptuts_Simple_Admin {
function __construct() {
// We’ll add hooks here
}
}
$wptuts_simple_admin = new Wptuts_Simple_Admin();
?>
|
На данный момент, вы можете войти в свой админ WordPress и увидеть плагин. Вы также можете активировать его сейчас, а затем вернуться и обновить его по мере добавления функциональности.
Шаг 2 Скрытие меню, которое нам не нужно
Допустим, сайт вашего клиента не использует «Ссылки», и вам также не нужно, чтобы ваш клиент использовал что-либо в «Инструментах» или «Настройках» (это ваша работа, не так ли?). Итак, давайте отключим их (выделенные строки — новый код):
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?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 есть несколько виджетов панели инструментов, которые мне просто не нужны, и мои клиенты, безусловно, не заботятся. Это входящие ссылки, плагины, блог WordPress и другие новости WordPress. Правда, можно утверждать, что «Входящие ссылки» полезны, но я предпочитаю скрывать это и экономить на беспорядке.
Теперь виджеты панели мониторинга — это метабоксы, поэтому мы можем использовать следующий код, чтобы избавиться от них (опять же, выделенные строки — это новый код):
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?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 Упростите столбцы типа записей
Последний экран, который я опишу для упрощения в этой статье, — это экран списка публикаций (как для постов, так и для страниц). Если ваш клиент — это всего лишь один человек, пишущий все свои посты сами, зачем им видеть колонку автора? Звучит как пустое место для меня.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<?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 в соответствии с потребностями вашего клиента. Конечно, вы можете сделать еще кое-что, и вы, скорее всего, будете варьировать в зависимости от клиента. Некоторые из этих вещей могут быть выполнены с помощью превосходного плагина Minimal Admin от Aaron Rutley.
Если вы хотите поднять это на ступеньку выше, вы также можете включить проверку возможностей, чтобы отключить / включить функциональность в зависимости от того, кто вошел в систему.
Как вы хотите настроить WordPress для своих клиентов? Дайте нам знать в комментариях ниже.