WordPress Создание пользовательских возможностей

Я разрабатываю плагин для корзины покупок и планирую создать новую пользовательскую роль для клиентов.

Мой вопрос заключается в том, как создать настраиваемые возможности, чтобы я мог назначить эти настраиваемые возможности новой роли пользователя. Этот ответ предоставил способ создания новых возможностей, но это просто новое имя для исходных возможностей.

Может кто-нибудь объяснить, как создать совершенно новую возможность, которая контролирует некоторые пользовательские функции?

2 ответа

Вы должны сначала понять, что роли пользователей Wordpress просты как набор возможностей. При этом, поскольку вы сказали, что создаете плагин, мне нравится думать, что вы не новичок в коде и, следовательно, не боитесь кодировать свое решение, вместо того, чтобы использовать для этого другой плагин.

Этот код должен помочь вам создать новую роль пользователя и добавить в нее пользовательские возможности.

<?php

// create a new user role

function wpeagles_example_role()
{
    add_role(
        'example_role',
        'example Role',
        [
            // list of capabilities for this role
            'read'         => true,
            'edit_posts'   => true,
            'upload_files' => true,
        ]
    );
}

// add the example_role
add_action('init', 'wpeagles_example_role');

Чтобы добавить настраиваемую возможность для этой роли пользователя, используйте код ниже:

//adding custom capability
<?php
function wpeagles_example_role_caps()
{
    // gets the example_role role object
    $role = get_role('example_role');

    // add a custom capability 
    // you can remove the 'edit_others-post' and add something else (your     own custom capability) which you can use in your code login along with the current_user_can( $capability ) hook.
    $role->add_cap('edit_others_posts', true);
}

// add example_role capabilities, priority must be after the initial role     definition
add_action('init', 'wpeagles_example_role_caps', 11);

Дополнительная ссылка: https://developer.wordpress.org/plugins/users/roles-and-capabilities/

Вы можете создавать собственные роли и возможности с помощью плагина. Два варианта доступны там с помощью пользовательского кода или вы можете использовать существующий плагин.

Для пользовательского кода: https://wordpress.stackexchange.com/questions/35165/how-do-i-create-a-custom-role-capability

Использование существующего плагина: роли и возможности пользователей

Другие вопросы по тегам