Ответы в темах

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Спасибо за совет! В таком случае пожалуй воспользуюсь User Role Editor, я просто думал что своя функция надёжней т.к плагины надо обновлять(а этого скорее всего никто делать не будет) или же после обновления плагинов иногда случаются баги итд, поэтому если задачу возможно сделать 1 строкой в functions, то стараюсь избегать установки плагинов) Попробую реализовать, о результатах отпишусь, может кому в будущем пригодится)

    Спасибо. На самом деле не очень хотелось использовать плагины, вроде нагулил что это возможно сделать с помощью функции add_role(); например:

    // Add a custom user role
      
    $result = add_role( 'client', __(
      
    'Client' ),
      
    array(
      
    'read' => true, // true allows this capability
    'edit_posts' => true, // Allows user to edit their own posts
    'edit_pages' => true, // Allows user to edit pages
    'edit_others_posts' => true, // Allows user to edit others posts not just their own
    'create_posts' => true, // Allows user to create new posts
    'manage_categories' => true, // Allows user to manage post categories
    'publish_posts' => true, // Allows the user to publish, otherwise posts stays in draft mode
    'edit_themes' => false, // false denies this capability. User can’t edit your theme
    'install_plugins' => false, // User cant add new plugins
    'update_plugin' => false, // User can’t update any plugins
    'update_core' => false // user cant perform core updates
      
    )
      
    );

    Новая роль для пользователей для того что бы в этой роли были доступны дополнительные поля в личном кабинете пользователя, функционал ролей немного отличается.
    Остаётся открытым вопрос как присвоить нужную роль пользователю при регистрации, например при чекбоксе.
    Подойдёт ли для этой цели WP_User::set_role( string $role )?

    • Ответ изменён 6 лет, 3 месяца назад пользователем arahort.

    UPD не верные запросы делал для поисковиков, как я и думал решение оказалось достаточно простым:

    /* Отключаем админ панель для всех, кроме администраторов. */
    if (!current_user_can('administrator')):
      show_admin_bar(false);
    endif;

    в functions.php

    • Ответ изменён 6 лет, 4 месяца назад пользователем arahort.
Просмотр 3 ответов — с 1 по 3 (всего 3)