Опис уроку:

  • Програмне забезпечення: WordPress;
  • Складність: Новачок;
  • Повне час виконання: 30 хвилин.

Остаточний результат: Те, чого ви досягнете

Завантажити матеріали по даній статті

Це третя з шести частин циклу «Користувацька настройка панелі адміністрування WordPress»:

1. Користувацька настройка панелі адміністрування WordPress: Форма входу;

2. Користувацька настройка панелі адміністрування WordPress: панель управління сайтом;

3. Налаштовуємо панель адміністрування WordPress: користувальницьке меню адміністрування;

4. Налаштування адміністративної панелі WordPress: текстова довідка;

5. Настройка панелі адміністрування WordPress – списки об’єктів;

6. Налаштовуємо панель адміністрування WordPress – змінюємо стиль елементів.

У перших двох частинах цього циклу статей я показав вам, як настроїти панель авторизації WordPress і власне панель адміністрування. У третій частині я розповім, як налаштувати меню адміністрування.

У цьому уроці ви дізнаєтеся, як:

  • Перейменовувати пункти меню (в даному випадку «Записи»);
  • Видаляти пункт меню (в даному випадку «Коментарі»);
  • Змінювати послідовність пунктів меню так, щоб елементи, які використовуються частіше, розташовувалися вище.
  • Для цього я хочу створити окремий плагін. Якщо ви після виконання частин 1 і 2 цієї серії вже створювали власні плагіни, можливо ви захочете додати новий код до них. Так, щоб отримати один універсальний плагін для повної налаштування панелі адміністрування WordPress.

    Що вам знадобиться

    Для виконання завдань з цього уроку вам знадобиться:

    • Встановити систему WordPress;
    • Відкрити права доступу до папки плагінів вашого сайту, щоб можна було додати власний новий плагін;
    • Текстовий редактор за вашим бажанням для редагування коду плагіна.

    Загальні налаштування плагіна

    На початку мого плагіна я зазвичай додаю наступні рядки:

    /*
    Назва плагіна: Customize the Admin Part 3 — admin menus
    URI плагіна: http://rachelmccollin.co.uk
    Опис: Даний плагін призначений для налаштування меню інструментів в панелі адміністрування WordPress.
    Версія: 1.0
    Автор: Рейчел МакКоллин
    Сайт автора: http://rachelmccollin.com
    Ліцензія: GPLv2
    */

    1. Перейменовуємо пункти меню

    Більшість сайтів, які я створювала на WordPress – це зовсім не блоги. Це сайти для клієнтів, і вони, навіть якщо і використовують записи, то зовсім не для постів, а для новин. Так що я збираюся перейменувати пункт меню «Записи» в «Новини». Ви можете перейменувати будь-який тип контенту WordPress під що завгодно.

    Наприклад:

    • Записи можуть стати новинами, статтями або оновленнями;
    • Медіафайли можуть називатися зображення, програми або завантаження.

    Щоб перейменувати пункт «Запис», додайте в ваш плагін наступний код:

    // Перейменовуємо пункт меню «Записи» в «Новини»
    function wptutsplus_change_post_menu_label() {
    global $menu;
    global $submenu;
    $menu[5][0] = ‘News’;
    $submenu[‘edit.php’][5][0] = ‘News Items’;
    $submenu[‘edit.php’][10][0] = ‘Add News Item’;
    }
    add_action( ‘admin_menu’, ‘wptutsplus_change_post_menu_label’ );

    Цей код посилається на глобальні змінні $menu і $submenu. Число у квадратних дужках вказує, який саме пункт меню я маю на увазі (кожний пункт меню має свій номер, який відповідає його позиції). Я встраиваю в функцію перейменування записів посилання на admin_menu. З допомогою неї відбувається обробка даних, саме її я буду використовувати в даному уроці.

    Це призводить до того, що меню адміністрування виглядає тепер так, як показано на скріншоті:

    Налаштовуємо панель адміністрування WordPress: користувальницьке меню адміністрування

    Примітка: Панель управління, показана на скріншоті, була нами вже налаштована раніше, і тому виглядає не зовсім так, як стандартна адмінка WordPress. См. частина 2 цієї серії.

    Як ви можете бачити, там, де зазвичай знаходиться пункт меню «Записи», тепер з’явилася кнопка «Новости». Як і раніше, за допомогою неї ми отримуємо доступ до розділу записів, але тепер він називається по-іншому. Тип записів не змінився.

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

    Для цього в наш плагін потрібно додати наступний код:

    // Редагуємо підпункти меню
    function wptutsplus_change_post_object_label() {
    global $wp_post_types;
    $labels = &$wp_post_types[‘post’]->labels;
    $labels->name = ‘News’;
    $labels->singular_name = ‘News Item’;
    $labels->add_new = ‘Add News Item’;
    $labels->add_new_item = ‘Add News Item’;
    $labels->edit_item = ‘Edit News Item’;
    $labels->new_item = ‘News Item’;
    $labels->view_item = ‘View News Item’;
    $labels->search_items = ‘Search News Items’;
    $labels->not_found = ‘No News Items found’;
    $labels->not_found_in_trash = ‘No News Items found in Trash’;
    }
    add_action( ‘admin_menu’, ‘wptutsplus_change_post_object_label’ );

    Тепер змінилася не тільки назва верхнього пункту меню, але все підпункти розділу. Як це виглядає — показано на скріншоті:

    Налаштовуємо панель адміністрування WordPress: користувальницьке меню адміністрування

    У розділі з’явилися нові назви, такі як «Додати новину» і заголовки в панелі.

    2 . Видалення пунктів меню

    Тепер, коли ми перейменували «Запису» в «Новини» меню адміністрування більше відповідає роду діяльності замовника сайту. Але я можу ще більше його оптимізувати — видалити з меню всі непотрібні пункти.

    Для більшості клієнтських сайтів, які я роблю, я відключаю коментарі практично відразу. Тому можна виключити з меню і цей розділ. Щоб не бентежити клієнтів.

    Додаємо в наш плагін наступне:

    // Видаляємо розділ меню Коментарі з панелі всіх користувачів, крім
    // Адміністратора.
    function wptutsplus_remove_comments_menu_item() {
    $user = wp_get_current_user();
    if ( ! $user->has_cap( ‘manage_options’ ) ) {
    remove_menu_page( ‘edit-comments.php’ );
    }
    }
    add_action( ‘admin_menu’, ‘wptutsplus_remove_comments_menu_item’ );

    При цьому використовується функція remove_menu_page пов’язана зі сторінкою коментарів, яка генерується з файлу comments.php.

    Примітка: Я прописую для цієї функції умова через manage_options так, щоб цей розділ меню був доступний в панелі Адміністратора. Так, на всякий випадок!

    Як ви можете бачити на скріншоті, розділ меню «Коментарі» зараз відсутній.

    Налаштовуємо панель адміністрування WordPress: користувальницьке меню адміністрування

    3. Зміна послідовності пунктів меню

    Останній вид налаштування, який я збираюся зробити, це змінити послідовність пунктів меню адміністрування так, щоб елементи, які мої клієнти будуть використовувати частіше, розташовувалися вище. В даному випадку, я хочу перемістити елемент «Сторінки» вище розділу меню «Медіафайли».

    Для цього я використовую два фільтра:

    • custom_menu_order – активує фільтр menu_order, який в якості параметру оперує значенням __return_true;
    • menu_order – в якому ви з допомогою функцій задаєте новий порядок розташування пунктів меню.

    Додаємо в наш плагін, наступний код:

    // Розміщуємо розділ меню Сторінки вище пункту Медіафайли
    function wptutsplus_change_menu_order( $menu_order ) {
    return array(
    ‘index.php’,
    ‘edit.php’,
    ‘edit.php?post_type=page’,
    ‘upload.php’,
    );
    }
    add_filter( ‘custom_menu_order’, ‘__return_true’ );
    add_filter( ‘menu_order’, ‘wptutsplus_change_menu_order’ );

    Це дозволить перегрупувати елементи меню в порядку, заданому в масиві. Пункт «Медіафайли» буде виводитися під пунктом меню «Сторінки». Тепер у вас є просте, налаштоване під конкретного користувача меню.

    Висновок

    За допомогою налаштування меню адміністрування WordPress можна зробити процес управління сайтом більш простим і швидким, як для себе, так і для своїх клієнтів. Ми можемо задавати пунктів меню нові, більш відповідні назви, видаляти непотрібні елементи і розміщувати їх в такому порядку, щоб найбільш часто використовувані розділи перебували вгорі. Ви самі можете попрацювати ще в цьому напрямку: перемістити будь-які пункти вгору або вниз, як вам більше підходить, перейменувати розділ «Медіафайли» і так далі.

    Переклад статті «Customizing the WordPress Admin: Custom Admin Menus» був підготовлений дружною командою проекту Сайтостроение від А до Я.