Самой востребованной настройкой в корпоративных блогах является кастомизация административной части – скрытие определенных разделов и сообщений, переименование меню, добавление своего логотипа – все то, что делает работу с админкой более персонализированной и удобной.
Логотип на странице входа
Чтобы сменить стандартный логотип на странице входа на свой, нужно добавить в файл functions.php:
function my_custom_login_logo(){
echo '
h1 a { background-image:url('.get_bloginfo('template_directory').'/images/custom-login-logo.jpg) !important; }
';
}
add_action('login_head', 'my_custom_login_logo');
custom-login-logo.jpg – это ваш логотип
Логотип в административной части
Чтобы изменить логотип, отображаемый в верхнем левом углу административной части, добавьте в functions.php:
function my_custom_logo(){
echo '
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-admon-logo.jpg) !important; }
';
}
add_action('admin_head', 'my_custom_logo');
custom-admon-logo.jpg – это ваш логотип для административной части блога
Изменение ссылки входа
Чтобы упростить ссылку на страницу входа, а так же защитить страницу блога от атак автоматических скриптов, можно эту ссылку изменить, сделав более человеческой. Для этого вставьте в файл .htaccess, находящемся в корне сайта:
RewriteRule ^login$ http://вашсайт.ru/wp-login.php [NC,L]
вашсайт.ru – это домен вашего сайта
В файл functions.php нужно добавить:
/* перенаправление (редирект) с login на /wp-login.php и с admin на /wp-admin */
add_action('template_redirect', 'custom_login_redirect');
function custom_login_redirect(){
if( strpos($_SERVER['REQUEST_URI'], 'login')!==false )
$loc = '/wp-login.php';
elseif( strpos($_SERVER['REQUEST_URI'], 'admin')!==false )
$loc = '/wp-admin/';
if( $loc ){
header( 'Location: '.get_option('site_url').$loc, true, 303 );
exit;
}
}
Отключение показа ошибок PHP
Для работающих в блоге вовсе не обязательно видеть, какие ошибки возникают. А вот администратору будут интересны сообщения о возникающих ошибках. Поэтому есть смысл скрыть сообщения об ошибках от всех, и показывать их только администратору. Для этого достаточно вставить в functions.php:
add_action('init', 'enable_errors');
function enable_errors(){
if( $GLOBALS['user_level'] < 5 )
return;
error_reporting(E_ALL ^ E_NOTICE);
ini_set("display_errors", 1);
}
Отключение пунктов меню
Навигационное меню административной части содержит множество пунктов, которые могут и не потребоваться в повседневной работе. Те пункты, которые вы считаете не нужными, можно скрыть, добавив в functions.php следующий код:
function remove_menus(){
global $menu;
$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
end ($menu);
while (prev($menu)){
$value = explode(' ', $menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action('admin_menu', 'remove_menus');
Обратите внимание на третью строчку – в ней перечисляются пункты, которые будут скрыты. Вы можете указать любой из пунктов:
- __(‘Dashboard’) — Консоль;
- __(‘Posts’) — Записи
- __(‘Media’) — Медиафайлы
- __(‘Links’) — Ссылки (для WordPress 3.4 и более старых версий)
- __(‘Pages’) — Страницы
- __(‘Comments’) — Комментарии
- __(‘Appearance’) — Внешний вид
- __(‘Tools’) — Инструменты
- __(‘Users’) — Пользователи
- __(‘Settings’) — Настройки
- __(‘Plugins’) — Плагины
Для удаления пунктов меню так же есть специальные функции remove_menu_page() и remove_submenu_page(). Они служат для удаления главных пунктов и подпунктов навигационного меню административной части.
Например, нужно удалить пункт Добавить новый в разделе Плагины. Для этого нужно вставить в файл functions.php:
remove_submenu_page( 'plugins.php', plugin-install.php' );
Или если нужно полностью удалить разделы Плагины и Внешний вид. Для этого нужно добавить в файл functions.php:
remove_menu_page( 'plugins.php' ); remove_menu_page( 'themes.php' );
Следует понимать, что эти настройки не запрещают пользоваться ссылками на разделы, они лишь скрывают их.
Удаление сообщений об обновлениях
Другим не обязательно знать, что нужно обновить какой-нибудь плагин или тему. Поэтому сообщения об обновлениях, которые они увидят в административной части, можно отключить. Для этого нужно добавить в файл functions.php:
if( !current_user_can( 'edit_users' ) ){
//для WordPress 2.9-
add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
// для WordPress 3.0+
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
} Теперь сообщения об обновлениях будут видеть только администраторы.
Удаление лишних административных виджетов
Если вы считаете, что некоторые виджеты в административной части только отвлекают от работы и занимают место на экране, то их можно отключить. Для этого добавьте в файл functions.php:
function clear_dash(){
$side = &$GLOBALS['wp_meta_boxes']['dashboard']['side']['core'];
$normal = &$GLOBALS['wp_meta_boxes']['dashboard']['normal']['core'];
unset($side['dashboard_quick_press']); //Быстрая публикация
unset($side['dashboard_recent_drafts']); //Последние черновики
unset($side['dashboard_primary']); //Блог WordPress
unset($side['dashboard_secondary']); //Другие новости WordPress
unset($normal['dashboard_incoming_links']); //Входящие ссылки
unset($normal['dashboard_right_now']); //Прямо сейчас
unset($normal['dashboard_recent_comments']); //Последние комментарии
unset($normal['dashboard_plugins']); //Последние плагины
}
add_action('wp_dashboard_setup', 'clear_dash' );
Скрытие виджета произвольных полей
Иногда нужно не давать авторам возможность создавать и изменять произвольные поля при редактировании записей. Чтобы запретить использование произвольных полей, можно скрыть их виджет из редактора. Для этого нужно добавить в файл functions.php:
function customize_meta_boxes(){
global $current_user;
get_currentuserinfo();
if ($current_user->user_level < 6)
remove_meta_box('postcustom', 'post', 'normal');
}
add_action('admin_init','customize_meta_boxes');
Теперь блок с произвольными полями будет доступен только пользователям с уровнем 6, то есть администраторам. Подробнее об уровнях пользователей и ролях: Роли и уровни пользователей в WordPress.
Так же для настроек видимости пользователями с разными правами тех или иных виджетов, разделов, ссылок внутри административной части блога можно воспользоваться плагином Adminimize.
[info txt=”Читайте так же Индивидуальные настройки административной части WordPress (часть 1).”]








Спасибо. Отличная статья.
Испробую сегодня на практике