2016-06-14 5 views
0

Как заблокировать определенные теги для моих пользовательских типов сообщений программным путем с помощью Wordpress?Как блокировать теги программным способом на wordpress?

Я знаю о функции if (current_user_can()), но я не уверен, что положить в фигурные скобки, чтобы фактически заблокировать определенную роль пользователя от доступа ко всем элементам этого тега.

+0

Когда вы регистрируете свой тип сообщения, вы можете определить, какие возможности необходимы, чтобы пользователи могли выполнять определенные действия с вашими настраиваемыми типами сообщений. https://codex.wordpress.org/Function_Reference/register_post_type#capability_type Однако я бы рекомендовал использовать плагин членов здесь: https://en-ca.wordpress.org/plugins/members/, поскольку это упрощает работу. – Jrod

+0

Спасибо. Вы знаете, как заблокировать его для тегов? Я понял, что мне нужно специально блокировать по тегу, а не только пользовательский тип сообщения. Я редактировал свой пост. Я пытаюсь воздержаться от использования плагинов. – als26

ответ

1

При регистрации вашей таксономии задайте аргумент capabilites для создания пользовательских возможностей для разных действий.

Я бы выглядеть примерно так:

$args = array(
     'labels'   => $labels, 
     'public'   => true, 
     'show_in_nav_menus' => true, 
     'show_admin_column' => false, 
     'hierarchical'  => false, 
     'show_tagcloud'  => true, 
     'show_ui'   => true, 
     'query_var'   => true, 
     'rewrite'   => true, 
     'capabilities'  => array(
      'manage_terms' => 'manage_my_tax', 
      'edit_terms' => 'manage_my_tax', 
      'delete_terms' => 'manage_my_tax', 
      'assign_terms' => 'edit_my_tax', 
     ), 
    ); 

    register_taxonomy('taxonomy-slug', array('post'), $args); 

В приведенном выше я установил возможности на основе возможностей по умолчанию, которые назначены на WordPress, которые:

'manage_terms' => 'manage_categories' 
'edit_terms' => 'manage_categories' 
'delete_terms' => 'manage_categories' 
'assign_terms' => 'edit_posts' 

После того как вы созданные пользовательские возможности используют Members plugin, чтобы назначить роли, которые могут выполнять эти возможности.

Как только плагин установлен, перейдите к Пользователи> Роли. Выберите роль, которую вы хотите контролировать, затем нажмите Таксономии и установите возможности для этой роли.

Смежные вопросы