/ Wordpress / Наводим порядок в админке

Наводим порядок в админке

HIT

30.07.2016

1117

Некоторые принципы по созданию порядка в админке и удобству реализации функционала сайта.

  1. Для удобства редактирования кода устанавливаем плагин Advanced Code Editor. Он также немного преобразует панель Редактирование. Также плагин дает возможность создавать файлы php и css. В современных версиях WP это не требуется, штатный редактор стал намного более удобным, работающим на ajax.
  2. Стили CSS, которые мы редактируем не часто (animate.css, font-awesome.css, ihover.css) помещаем в папку css. Так они не будут отображаться в панели Редактирование шаблонов.
  3. Все дополнительные функции сайта (слайдер, боковая панель и т.д.) лучше реализовывать в виде плагинов. Это будет экономить место в панели Редактирование, а также сократит css и js если не будут использоваться. При этом код плагинов можно редактировать.

Кнопка в админ панели

Добавляем свою кнопку в верхнюю админ панель. Для примера я сделал кнопку перехода в Яндекс Метрику:

//Кнопка в Admin bar 

function admin_bar_theme_editor_option() { 
	global $wp_admin_bar; 
	if ( !is_super_admin() || !is_admin_bar_showing() ) 
	return; 

	$wp_admin_bar->add_menu( array(
		'id' => 'edit-theme', 
		'title' => __('<img src="/wp-content/themes/tester/images/metrika.svg"> Метрика'), 
		'href' => 'https://metrika.yandex.ru/dashboard?id=88856777', 
		'meta' => array ( 'target' => '_blank' ) 
	) ); 
} 

add_action( 'admin_bar_menu', 'admin_bar_theme_editor_option', 100 );

Языковая версия админки

Чтобы поменять язык админки, нужно сделать следующее:
1. В настройках админки (Общие) установить необходимый язык.
2. Добавить в wp-content/languages/ файлы необходимого перевода (Po, Mo)
3. Прописать в wp-config: define(‘WPLANG’, ‘ru_RU’);
4. Перейти в раздел обновлений и перейти на необходимую версию

Файлы переводов находятся в архивах wordpress .tar.gz (ссылка обычно под основной версией wp). Список переводов wordpress.

Блокировка обновления php-файлов

Некоторые плагины вызывают блокировку обновления php-файлов. Это происходит со следующими плагинами: WP-SpamShield, wp-creator-calculator.

Ошибки jQuery в админке

Если админка перестала нормально функционировать из-за ошибок jQuery, произойти это может например из-за отключения с версии 5.5 поддержки jQuery migrate, можно восстановить нормальную работу плагином Enable jQuery Migrate Helper (200 000).

Удаляем лишние пункты меню

В данном примере установлено убирать пункты для всех ролей кроме администратора

add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {

	global $user_ID;
	if ( $user_ID != 1 ) { //your user id
		remove_menu_page('index.php'); // Media
		//remove_menu_page('edit.php'); // Posts
		remove_menu_page('upload.php'); // Media
		remove_menu_page('link-manager.php'); // Links
		remove_menu_page('edit-comments.php'); // Comments
		remove_menu_page('edit.php?post_type=page'); // Pages
		remove_menu_page('plugins.php'); // Plugins
		remove_menu_page('themes.php'); // Appearance
		remove_menu_page('users.php'); // Users
		remove_menu_page('tools.php'); // Tools
		remove_menu_page('options-general.php'); // Settings
	}
}

Либо если нужно сделать условия не по ID а по роли меняем условие

global $current_user;
$user_roles = $current_user->roles;
$user_role = array_shift($user_roles);
if ( $user_role != 'administrator' ){

}

Скрыть виджеты с главного экрана (консоль)

function remove_dashboard_widgets() {
    global $wp_meta_boxes;
 
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_drafts']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
 	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);
 	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_site_health']);
}
 
add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );

Скрыть лишние боксы из редактирования записи

function wpse60590_remove_metaboxes() {
    //remove_meta_box( 'categorydiv' , 'post' , 'normal' ); 
    remove_meta_box( 'tagsdiv-post_tag' , 'post' , 'normal' );
	remove_meta_box( 'postexcerpt' , 'post' , 'normal' );
    remove_meta_box( 'postcustom' , 'post' , 'normal' );
	remove_meta_box( 'commentstatusdiv' , 'post' , 'normal' );
	
	remove_meta_box( 'trackbacksdiv' , 'post' , 'normal' );
    remove_meta_box( 'commentsdiv' , 'post' , 'normal' );
	remove_meta_box( 'slugdiv' , 'post' , 'normal' ); 	

}
add_action( 'admin_menu' , 'wpse60590_remove_metaboxes' );

Удалить блок с основным контентом:

function remove_pages_editor(){ remove_post_type_support( 'post', 'editor' ); }   
add_action( 'init', 'remove_pages_editor' );

Скрыть некоторые элементы интерфейса редактирования записи для всех ролей кроме администратора

// Colours posts rows depending on the status
add_action( 'admin_footer', 'admin_footer_example' );
function admin_footer_example() {
	global $current_user;
    $user_roles = $current_user->roles;
    $user_role = array_shift($user_roles);
	if ( $user_role != 'administrator' ){
		echo '<style type="text/css">#minor-publishing-actions, #misc-publishing-actions #visibility, #misc-publishing-actions, #titlediv .inside {display: none;}</style>';
	}
}

Блок с миниатюрой отключить не получится. Если он не нужно его просто не нужно подключать.

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Настройки сайта с theme customizer

Настройки сайта с theme customizer

Для того чтобы некоторые настройки сайта можно было менять из админки, через специальный интерфейс, а не ковырять исходный код (для заказчика), нужно использовать возможности WP Theme Customizer.Можно настраивать, например, такие Читать далее »

/
Подсветка синтаксиса в админке и постах

Подсветка синтаксиса в админке и постах

Средства направленные на улучшение восприятия и упрощения редактирования синтаксиса в админке и постах. Advanced Code Editor Пожалуй, самый популярный плагин для подсветки кода в админке (80 000 установок), при редактировании Читать далее »

Настраиваем панель редактирования таксономий

Настраиваем панель редактирования таксономий

Расширяем стандартную панель редактирования таксономий (точнее терминов): категорий, меток и пользовательских. Выводим колонку с ID if (is_admin()) { // колонка "ID" для таксономий (рубрик, меток и т.д.) в админке foreach Читать далее »

Добавить комментарий

Пока нет комментариев. Будь первым!

Наводим порядок в админке
Варианты при вводе запроса в поиск
Рекомендации для васВарианты при вводе запроса в поискOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.