Причесываем админку WordPress перед сдачей сайта заказчику
- 29 Июн 2011
Большинству заказчиков нужен не только сайт в котором реализован необходимый им функционал но и отсутствуют не нужные функции, кнопочки, менюшки, чем по умолчанию грешит WordPress.
Лучше сразу скрыть меню «Ссылки» если они не используются на сайте а также виджеты с новостями и уберечь себя от лишних вопросов =)
В созданном сайте я добавляю в functions.php активной темы код который скрывает все не нужное.
Отключаем виджеты на главной админки для всех пользователей
function disable_default_dashboard_widgets() { remove_meta_box('dashboard_right_now', 'dashboard', 'core'); remove_meta_box('dashboard_recent_comments', 'dashboard', 'core'); remove_meta_box('dashboard_incoming_links', 'dashboard', 'core'); remove_meta_box('dashboard_plugins', 'dashboard', 'core'); remove_meta_box('dashboard_quick_press', 'dashboard', 'core'); remove_meta_box('dashboard_recent_drafts', 'dashboard', 'core'); remove_meta_box('dashboard_primary', 'dashboard', 'core'); remove_meta_box('dashboard_secondary', 'dashboard', 'core'); } add_action('admin_menu', 'disable_default_dashboard_widgets');
Также я добавляю текстовый виджет с моими контактными данными, что бы клиент всегда знал как со мной связаться.
function add_dashboard_widget_content() { echo "Мой e-mail: rjhdsy@gmail.com, ICQ: 321210082"; } function add_dashboard_widget_contacts() { wp_add_dashboard_widget('dashboard_widget_contacts', 'Контактные данные веб-мастера', 'add_dashboard_widget_content'); } add_action('wp_dashboard_setup', 'add_dashboard_widget_contacts' );

Убираем ненужные пункты меню
Эта функция лишь уберет пункты меню, но сами страницы настроек будут доступны если напрямую вписать их адрес в браузере.
function remove_menu_pages_handler() { //remove_menu_page('index.php'); // консоль //remove_menu_page('edit.php'); // записи //remove_menu_page('upload.php'); // медиафайлы remove_menu_page('link-manager.php'); // ссылки //remove_menu_page('edit.php?post_type=page');// страницы //remove_menu_page('edit-comments.php'); // коментарии remove_menu_page('themes.php'); // внешний вид remove_menu_page('plugins.php'); // плагины //remove_menu_page('users.php'); // пользователи remove_menu_page('tools.php'); // инструменты //remove_menu_page('options-general.php'); // параметры } add_action( 'admin_menu', 'remove_menu_pages_handler' );
Убираем ненужные блоки на странице редактирования.
function remove_extra_meta_boxes() { remove_meta_box('postcustom','post','normal'); // произвольные поля для записей remove_meta_box('postcustom','page','normal'); // произвольные поля для страниц remove_meta_box('postexcerpt','post','normal'); // цитата для записей remove_meta_box('postexcerpt','page','normal'); // цитата для страниц remove_meta_box('commentsdiv','post','normal'); // свежие комментарии для записей remove_meta_box('commentsdiv','page','normal'); // свежие комментарии для страниц remove_meta_box('tagsdiv-post_tag','post','side'); // метки для записей remove_meta_box('tagsdiv-post_tag','page','side'); // метки для страниц remove_meta_box('trackbacksdiv','post','normal'); // трекбеки для записей remove_meta_box('trackbacksdiv','page','normal'); // трекбеки для страниц remove_meta_box('commentstatusdiv','post','normal'); // разрешить комментарии для записей remove_meta_box('commentstatusdiv','page','normal'); // разрешить комментарии для страниц remove_meta_box('slugdiv','post','normal'); // ссылки для записей remove_meta_box('slugdiv','page','normal'); // ссылки для страниц remove_meta_box('pageparentdiv','page','side'); // родительская страница } add_action( 'admin_menu' , 'remove_extra_meta_boxes' );
Изменяем отображение колонок в списке записей и страниц
Мы можем изменить название колонок, скрыть ненужные или поменять местами. Также можно и добавлять свои колонки, но это материал для другой статьи. В коде приведенном ниже название колонок хранятся в массиве $posts_columns, меняя местами элементы которого или удаляя их мы можем контролировать отображения списка записей и страниц.
Допустим на сайте не используются метки, давайте уберем колонку «Метки» и изменим очередность других под себя.

function modify_post_columns($posts_columns) { $posts_columns = array( "cb" => "", "title" => __(Title), "date" => __(Date), // "tags" => __(Tags), "categories" => __(Categories), "author" => __(Author), "comments" => ' <div class="vers"> <img src="'.esc_url(admin_url('images/comment-grey-bubble.png')).'" alt="Comments" /> </div>' ); return $posts_columns; } add_filter('manage_posts_columns', 'modify_post_columns');

Следующий код для управления колонками в списке страниц.
function modify_page_columns($posts_columns) { $pages_columns = array( "cb" => "", "title" => __(Title), "date" => __(Date), "author" => __(Author), "comments" => ' <div class="vers"> <img src="'.esc_url(admin_url('images/comment-grey-bubble.png')).'" alt="Comments" /> </div>' ); return $pages_columns; } add_filter('manage_pages_columns', 'modify_page_columns');
Заменяем логотип Вордпрес в админке на свой
Заменяем путь и имя файла нового логотипа на свое.
function admin_custom_logo() { echo '<style type="text/css"> #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/admin-logo.gif) !important; } </style>'; } add_action('admin_head', 'admin_custom_logo');
Заменяем логотип Вордпрес на странице входа на свой
function login_custom_logo() { echo '<style type="text/css"> h1 a { background-image:url('.get_bloginfo('template_directory').'/images/login-logo.gif) !important; } </style>'; } add_action('login_head', 'login_custom_logo');