предоставьте привилегии для ролей (например, редакторов) и выше
Моя тема wordpress имеет пользовательский тип записи. Только редакторам (и выше) должно быть разрешено использовать этот тип сообщений.
Я сделал это с помощью:
function add_capability($role,$cap) {
$role_obj = get_role($role); // get the the role object
$role_obj -> add_cap($cap); // add $cap capability to this role object
}
function set_cpt() {
add_capability('editor', 'edit_cpt');
add_capability('editor', 'read_cpt');
add_capability('editor', 'delete_cpt');
add_capability('editor', 'edit_cpt');
add_capability('editor', 'edit_cpt');
add_capability('editor', 'publish_cpt');
add_capability('editor', 'read_cpt');
}
add_action('init', 'set_cpt');
( Я думаю) в Wordpress 3.1 этого было достаточно - все редакторы и выше имели право использовать пост-тип.
Теперь, в Wordpress 3.2 только редакторы имеют право использовать тип сообщения.
Есть ли способ предоставить привилегии роли X и выше или у меня есть упомянуть каждую роль?
Спасибо вам!
[редактировать]
На самом деле я обнаружил, что раньше это никогда не работало. Но есть ли другой способ сделать это?
1 answers
Если вы используете плагин для участников , вы можете настроить его так, как хотите. В нем также есть возможность добавлять пользовательские роли (ваши edit_cpt
и так далее)
Также многие плагины также работают таким образом:
<?php if ( current_user_can('manage_options') ) { do_something(); } ?>