Причесываем админку 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' );

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');

Что вы думаете?

Имя обязательно

Сайт