Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
Теми
Уроки
Хакі

Коли ви створюєте сайт для клієнта, іноді деякі частини адмін-панелі WordPress треба приховати, щоб у замовника не було до них доступу. По суті, їм до цих частин панелі доступ і не потрібен, тому чому б вам не відключити їх і не спростити адміністрування для вашого замовника. І ось як це робиться...

| Завантажити вихідні |

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

Крок 1. Робимо все через свій плагін

Зазвичай вам треба провести встановлення плагіна до того, як ви додасте до нього будь-які функціональні можливості. Створіть папку в / Wp-content/plugins / під назвою wptuts-simple-admin. Тепер усередині цієї папки створіть основний файл PHP для вашого плагіна. Для стандартів назвемо його wptuts-simple-admin.php.

Усередині цього файлу помістимо наступний код у великій його частині:

<?php
/*
Plugin Name: Wptuts+ Simple Admin
Plugin URI: http://wp.tutsplus.com/articles/tips-articles/quick-tip-simplifying-the-wordpress-admin-for-your-clients
Description: Hides parts of the WordPress admin to keep it simple.
Version: 0.1
Author: Japh
Author URI: http://wp.tutsplus.com/author/Japh
License: GPL2
*/
?>

Ми цей плагін напишемо на основі об'єктно-орієнтованого програмування, так що клас помістимо під головною частиною плагіна:

<?php
class Wptuts_Simple_Admin {
    function __construct() {
        // We'll add hooks here
    }
}
$wptuts_simple_admin = new Wptuts_Simple_Admin();
?>

На цьому етапі ви можете увійти до панелі адміністратора WordPress і побачити наш плагін. Ви можете також його активувати, а потім повернутися і оновити його, коли ми додамо до цього плагіну нові функціональні можливості.

Крок 2. Приховуємо пункти меню, які ми не використовуємо

Припустимо, що вам не потрібно використовувати меню "Посилання", а також меню"Інструменти"І"Налаштування(Тому що цим буде займатися адміністратор або студія, що підтримує сайт). Так що давайте просто відключимо відображення цих розділів для клієнта (доданий новий код виділено іншим кольором):

<?php
class Wptuts_Simple_Admin {
    function __construct() {
        // Hook onto the action 'admin_menu' for our function to remove menu items
        add_action( 'admin_menu', array( $this, 'hide_menus' ) );
    }
    // This function removes each menu item using the Page Hook Suffix ( http://codex.wordpress.org/Administration_Menus#Page_Hook_Suffix )
    function hide_menus() {
        // Links page
        remove_menu_page( 'link-manager.php' );
        // Tools page
        remove_menu_page( 'tools.php' );
        // Settings page
        remove_menu_page( 'options-general.php' );
    }
}
$wptuts_simple_admin = new Wptuts_Simple_Admin();
?>

Крок 3. Прибираємо зайві віджети

Не знаю, як ви, а я вважаю, що в Консолі є кілька встановлених віджетів, які не потрібні ні мені, ні моїм замовникам. До них відносяться віджети "Вхідні посилання""Плагіни""WordPress блог"І"Other WordPress NewsДеякі заперечать, що вхідні посилання можуть і стати в нагоді, але я волію їх приховати і заощадити місце на екрані. Ці віджети являють собою meta-бокси, яких можна позбутися, просто додавши наступний новий код (теж виділений кольором):

<?php
class Wptuts_Simple_Admin {
    function __construct() {
        // Hook onto the action 'admin_menu' for our function to remove menu items
        add_action( 'admin_menu', array( $this, 'remove_menus' ) );
        // Hook onto the action 'admin_menu' for our function to remove dashboard widgets
        add_action( 'admin_menu', array( $this, 'remove_dashboard_widgets' ) );
    }
    // This function removes each menu item using the Page Hook Suffix ( http://codex.wordpress.org/Administration_Menus#Page_Hook_Suffix )
    function remove_menus() {
        // Links page
        remove_menu_page( 'link-manager.php' );
        // Tools page
        remove_menu_page( 'tools.php' );
        // Settings page
        remove_menu_page( 'options-general.php' );
    }
    // This function removes dashboard widgets
    function remove_dashboard_widgets() {
        // Remove each dashboard widget metabox for Incoming Links, Plugins, the WordPress Blog and Other WordPress News
        remove_meta_box('dashboard_incoming_links', 'dashboard', 'core');
        remove_meta_box('dashboard_plugins', 'dashboard', 'core');
        remove_meta_box('dashboard_primary', 'dashboard', 'core');
        remove_meta_box('dashboard_secondary', 'dashboard', 'core');
    }
}
$wptuts_simple_admin = new Wptuts_Simple_Admin();
?>

Крок 4. Забираємо зайві колонки на сторінці Усіх записів

І на завершення спростимо список на сторінці даних, що відображаються в колонках про посади. Якщо у вас замовник - єдиний автор блогу, то який сенс у колонціАвтор"? Щоб не витрачати місце марно, відключимо її:

<?php
class Wptuts_Simple_Admin {
    function __construct() {
        // Hook onto the action 'admin_menu' for our function to remove menu items
        add_action( 'admin_menu', array( $this, 'remove_menus' ) );
        // Hook onto the action 'admin_menu' for our function to remove dashboard widgets
        add_action( 'admin_menu', array( $this, 'remove_dashboard_widgets' ) );
        // Hook onto the post type-specific filters to remove columns
        add_filter( 'manage_posts_columns', array( $this, 'remove_columns' ) );
        add_filter( 'manage_pages_columns', array( $this, 'remove_columns' ) );
    }
    // This function removes each menu item using the Page Hook Suffix ( http://codex.wordpress.org/Administration_Menus#Page_Hook_Suffix )
    function remove_menus() {
        // Links page
        remove_menu_page( 'link-manager.php' );
        // Tools page
        remove_menu_page( 'tools.php' );
        // Settings page
        remove_menu_page( 'options-general.php' );
    }
    // This function removes dashboard widgets
    function remove_dashboard_widgets() {
        // Remove each dashboard widget metabox for Incoming Links, Plugins, the WordPress Blog and Other WordPress News
        remove_meta_box('dashboard_incoming_links', 'dashboard', 'core');
        remove_meta_box('dashboard_plugins', 'dashboard', 'core');
        remove_meta_box('dashboard_primary', 'dashboard', 'core');
        remove_meta_box('dashboard_secondary', 'dashboard', 'core');
    }
    // This function removes post / page list columns
    function remove_columns( $defaults ) {
        unset( $defaults['author'] );
        return $defaults;
    }
}
$wptuts_simple_admin = new Wptuts_Simple_Admin();
?>

Висновок

За допомогою такої невеликої кастомізації можна зробити панель адміністратора WordPress більш дружньою для клієнтів. Звичайно, можна внести ще більше правок, і деякі з них дозволяє виконати плагін. Minimal Admin.

Якщо ви бажаєте досягти повного контролю, то можна налаштувати відображення тих чи інших плагінів і тієї чи іншої структури панелі адміністратора залежно від того, хто з користувачів авторизований на даний момент на сайті.

Джерело: WP.tutsplus.com
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, що спеціалізується на створенні сайтів WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 4

Dmitry Korolev:

ІМО, краще це робити через functions.php

римський:

чогось відразу і не розберешся))

Олег:

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

Іван Шевчун:

Прошу допомоги, сам не розібрався як прописати це remove_menu_page( 'options-general.php' ); я зрозумів, а ось як прибрати, наприклад рейтинг на скрині я показав, не зрозумію як його прописати, там все зрозуміло вписав options-general.php і все. Прошу допомоги у спеціалістів.

Додати коментар або відгук