Удаление панели управления, использование вкладки "Страницы" по умолчанию

16 янв. 2012 г., 15:27:31
Просмотры: 20.8K
Голосов: 8

Есть ли способ установить вкладку "Страницы" по умолчанию, когда пользователь входит в админ-панель? Я использую сильно настроенную конфигурацию, где все виджеты панели управления бесполезны, поэтому они всё равно скрыты.

0
Все ответы на вопрос 3
0
15

Лучший способ - перенаправлять пользователей при входе на вашу страницу, а также удалить панель управления из меню. Это можно сделать с помощью 2 фильтров.

Перенаправление при входе на страницу редактирования на основе ролей пользователей, в этом примере используется роль "автор":

function dashboard_redirect($url) {
    global $current_user;
    // есть ли пользователь?
    if(is_array($current_user->roles)) {
        // проверяем, есть ли у пользователя роль автора:
        if(in_array('author', $current_user->roles)) {
             $url = admin_url('edit.php?post_type=page');
        }
        return $url;
    }
}
add_filter('login_redirect', 'dashboard_redirect');   

Удаление панели управления из меню администратора

add_action( 'admin_menu', 'Wps_remove_tools', 99 );
function Wps_remove_tools(){
    
    remove_menu_page( 'index.php' ); //панель управления
  
   }

Примечание: Вы также можете упорядочить пункты меню администратора, используя тот же фильтр.

16 янв. 2012 г. 19:30:57
0
11

Вот как полностью удалить ДАШБОРД в WordPress!

Для тех, кто не хочет использовать плагины: Если вы установите плагин для удаления дашборда, вы также получите дополнительное меню этого плагина. В чем смысл? Вы должны контролировать то, что делаете.


Вставьте код в файл functions.php

Редирект: (Когда пользователь переходит по URL, например domain.com/wp-admin)

function dashboard_redirect(){
    wp_redirect(admin_url('edit.php?post_type=page'));
}
add_action('load-index.php','dashboard_redirect');

Редирект после входа: (Чтобы избежать цикличных ошибок при входе)

function login_redirect( $redirect_to, $request, $user ){
    return admin_url('edit.php?post_type=page');
}
add_filter('login_redirect','login_redirect',10,3);

Удаление меню Дашборда: (Зачем оно вам, если оно вам не нужно?)

function remove_menus () {
    global $menu;
    $restricted = array(__('Dashboard'));
    //$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
    end($menu);
    while(prev($menu)){
        $value = explode(' ',$menu[key($menu)][0]);
        if(in_array($value[0]!= NULL?$value[0]:'',$restricted)){unset($menu[key($menu)]);}
    }
}
add_action('admin_menu','remove_menus');

Теперь, когда пользователь войдет или перейдет по URL типа domain.com/wp-admin/,...

Он будет перенаправлен на domain.com/wp-admin/edit.php?post_type=page


3 нояб. 2015 г. 11:24:17
1
-1

Да, используйте плагин Adminimize, удалите панель управления и сделайте так, чтобы страницы были первым экраном при входе пользователя. Вы можете очень хорошо его настроить и провести тонкую настройку всего административного интерфейса!

ОБНОВЛЕНИЕ

Используйте фильтр login_redirect и функцию admin_url, как в этом посте на WordPress Stackechange: Изменить стандартную административную страницу для конкретной роли(ей)

16 янв. 2012 г. 15:33:14
Комментарии

Я осторожно отношусь к использованию такого комплексного плагина для одной цели. В идеале я бы добавил эту функциональность в functions.php моей пользовательской темы.

Tom Tom
16 янв. 2012 г. 15:45:29