Админка WordPress настройка под клиента
Заметки по Wordpress

Админка WordPress настройка под клиента

Админка WordPress  настройка под клиента

В предыдущем посту мы рассмотрели Как отключить админ-панель в WordPress для всех кроме администраторов. Эта статья и натолкнула меня на мысль написать статью как настроить WordPress под клиента, в ней я максимально полно расскажу как можно изменить внешний вид и структуру “админки” WordPress в соответствие с пожеланиями заказчика.

Многие со мной, думаю, согласятся, что Woprpress не только мощная Cms, но и доступная в использовании. Очень жаль, что многими эта cms воспринимается как средство для создания блога. Не буду скрывать, что наиболее часто ее используют для создания блога, но (!) для создания бизнес-проектов эта платформа подходит не хуже.

Удаление лишних пунктов меню

Чтобы пользователь ненароком не удалил какой-нибудь важный файл нужно запретить ему доступ к определенным функциям.
Для чего, прописываем код в файл темы 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') —  "Ссылки";
    __('Pages') —  "Страницы";
    __('Appearance') —  "Внешний вид";
    __('Tools') —  "инструменты" ("импорт", "экспорт");
    __('Users') — "пользователи";
    __('Settings') — пункт меню "Настройки"!
    __('Comments') — комментарии;
    __('Plugins') — "Плагины".

Удаляем рубрику «+Добавить» из админ-панели

Теперь хочется отметить некоторые нюансы Консоли управления. Заходим в админку и видим в панели администратора под кнопкой “+Добавить” выплывает подменю “запись”, дабы не смутить заказчика, который на самом деле не пишет посты, удалим этот пункт из Панели администратора. Вместе с этим нужно удалить ссылки и комментарии, которые привязаны к этому пункту. Для этого нам понадобится следующий код:

function remove_admin_bar_links() {
	    global $wp_admin_bar;
	    $wp_admin_bar->remove_menu('new-content');
	    $wp_admin_bar->remove_menu('new-link');
	    $wp_admin_bar->remove_menu('comments');
	}
add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' );

Добавление своих пунктов админ-панель

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

function add_mycms_admin_bar_link() {
	global $wp_admin_bar;
	if ( !is_super_admin() || !is_admin_bar_showing() )
		return;
	$wp_admin_bar->add_menu( array(
	'id' => 'add_product_menu', // Может быть любое значение и должно быть уникальным
	'title' => __( 'Добавить Продукт'), //Отображение названия в Меню
	'href' => __('https://studio-gost.ru/wp-admin/post-new.php?post_type=products'),
	));
	// Добавить в подменю ссылку "Все продукты"
	$wp_admin_bar->add_menu( array(
		'parent' => 'add_product_menu', // Уникальный идентификатор родительского меню
		'id'     => 'view_all_products',
		'title' => __( ''),
		'href' => __('https://studio-gost.ru/wp-admin/edit.php?post_type=products'),
	));
	//Добавить в подменю ссылку "Специфика"
	$wp_admin_bar->add_menu( array(
		'parent' => 'add_product_menu',
		'id'     => 'my_sections',
		'title' => __( 'Специфика'),
		'href' => __('https://studio-gost.ru/wp-admin/edit-tags.php?taxonomy=Section&post_type=products'),
	));
}
add_action('admin_bar_menu', 'add_mycms_admin_bar_link',25);

Заменяем логотип WordPress на странице входа на сайт

Все кто знаком с WP не по наслышке наверняка лицезрел и официальный логотип wordpress на странице входа. Естественно он никак не мешает нормальному функционированию сайта, но заказчики – народ требовательный, видеть свой собственный бренд им нравится больше. Поэтому не забудьте в процессе работы заменить официальное лого на логотип компании-заказчика.
Как это сделать уже описывалось на нашем блоге Замена логотипа wordpress.

Удаляем логотип WordPress из Панели администратора

Важно! Логотип WordPress находится еще и в административной зоне сайта и в выпадающем меню со ссылками на документацию и форумы поддержки WP. Они также легко удаляются, путем добавления строки к функции, которая описана выше Удаляем рубрику «+Добавить» данной строчки:

$wp_admin_bar->remove_menu('wp-logo');
 

Или же вставить код целиком:

function remove_admin_bar_links() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('wp-logo');
    }
add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' );

Упрощаем ссылку входа

Теперь делаем проще ссылку для входа в WP. Изначальна ссылка выглядит так: http://site.ru/wp-login.php, изменим ее на эту: http://site.ru/login. При этом изменении пользователь будет перенаправляться на http://site.ru/wp-login.php

Для этого вставляем код в functions.php:

  /* редирект с login на /wp-login.php  и с admin на /wp-admin */  
    add_action('template_redirect', 'kama_login_redirect');  
    function kama_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;  
        }  
    }  

Этот способ более удобен, потому что вся редакция идет “внутри” темы.

Отключение обновится

Следующим пунктом идет отключение проверки обновления. Не чего клиентом там лазить, тем более без спецподготовки. Потому что новые обновления могут некорректно работать с старыми плагинами, а иногда это может привести к потери работоспособности сайта.
Опять работать будем с файлом functions.php вставляем в него этот код:

add_filter('pre_site_transient_update_core',create_function('$a', "return null;"));
wp_clear_scheduled_hook('wp_version_check');

remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );

Удаление админ-бара

Так же как писалось в самом начале этой статьи на сайте можно
Отключить админ-панель в WordPress для всех кроме администраторов. Это отгородит ваших клиентов от ненужного посещения админ панели.

Заключение

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

Новые посты

Как сделать спойлер на WordPress без плагина

Гордеев Игорь

Расширенная регистрация и профиль пользователя

Гордеев Игорь

Каркас шаблона wordpress

Гордеев Игорь

12 комментариев

Маша 18.10.2012 / 21:38

настроил точно так же, все понравилось. Отличная статья!

Ответить
Игорь 26.10.2012 / 12:47

Как сделать так, чтобы адрес, по которому посещается админка, был другой. к примеру не studio-gost.ru/login.php а название файла сменить на zaxod.php, и как сделать так, чтобы не wp-admin каталог отвечал за работу админки блога, а к примеру wp-nachalctvo или upravlenie

Ответить
Гордеев Игорь 26.10.2012 / 15:16

Вот этого я не знаю, не изучал этот вопрос.

Ответить
hi-tech 02.11.2012 / 21:54

Как всегда коротко и очень информативно.Спасибо.

Ответить
Sherif 22.11.2012 / 05:27

Спасибо за подсказку, мне понравилось.

Ответить
Ильяс 30.11.2012 / 19:58

Мне нужно было “Внешний вид убрать, и как раз он и не скрывается почему то

Ответить
Ильяс 06.01.2013 / 21:28

в правом верхнем углу в админ панели, есть два выпадающих меню “настройка экрана” и “помощь”, ПОЖАЛУЙСТА подскажите существует ли способ их скрыть???? это же такое палево!
Ещё пункт “Внешний вид” “темы” – Огромное палево, ещё и перевод такой “установка темы” клиент сразу думает что это какой-то конструктор..
Подскажите что можете пожалуйста

Ответить
Гордеев Игорь 08.01.2013 / 12:33

в правом верхнем углу в админ панели, есть два выпадающих меню “настройка экрана” и “помощь”, ПОЖАЛУЙСТА подскажите существует ли способ их скрыть???? это же такое палево!

К сожалению, мне не встречалось решение как их убрать.

Ещё пункт “Внешний вид” “темы” – Огромное палево, ещё и перевод такой “установка темы” клиент сразу думает что это какой-то конструктор..
Подскажите что можете пожалуйста

Решение этой проблемы описано в этой статье в разделе Удаление лишних пунктов меню

Ответить
Антон 15.01.2015 / 02:15

здравствуйте. скажите пожалуйста, в какую часть файла это все нужно вставлять (wordpress 3,9)

Ответить
Гордеев Игорь 15.01.2015 / 15:02

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

Ответить
Валерий 04.04.2016 / 22:37

Игорь, не в курсе, как удалить “Новости WordPress”? Обшарил весь инет – нигде нет ничего по данному поводу((

Ответить
Гордеев Игорь 01.06.2016 / 15:27

Посмотрите в новой статье на форуме Настройка админки WordPress для клиента

Ответить

Оставить комментарий