Разрешая отдельным пользователям добавлять только сообщения, используя определенные пользовательские термины таксомии

Я искал форумы, но я могу найти только некоторые связанные проблемы.

Это моя проблема:

Я хотел бы назначить некоторым редакторам возможность добавлять только сообщения в предопределенный срок пользовательской таксономии.

Я сделал таксономию, называемую событиями, которая содержит список событий, добавленных администратором. Некоторым пользователям разрешено добавлять сообщения, используя одно событие, например «Япония» или «Гаити».

Кто-нибудь с намеком на то, как справиться с этим? есть ли плагины управления пользователями, которые обладают такими возможностями?

Привет, Йоост.

Сначала запустите действие save_post: http://codex.wordpress.org/Plugin_API/Action_Reference/save_post

Затем проверьте возможности: у вас есть документы по этому поводу?

Затем get_the_terms для $ post_id, предоставленного save_post, и таксономии, которую вы хотите проверить. http://codex.wordpress.org/Function_Reference/get_the_terms

Затем, если они используют термин (см. Примечание ниже), им не разрешено использовать остановку / удаление сообщения, установить предупреждение или удалить этот термин.

Примечание. Таксономия – это список терминов, которые могут применяться к сообщению. Пример: таксономия «Нация» будет содержать такие термины, как «Мексика», «Франция» и «Индия»,

Отличная статья о роли пользователя и управлении ролью пользователя, для вашего случая, возможно, посмотрите на добавление пользовательской роли каждому пользователю с помощью WP_User_class или, возможно, даже с новой ролью с теми же возможностями, что и редактор, но + 1 event_poster или что-то подобное, статья заполнена о хорошем материале, о котором вы можете обратиться.

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

 if(current_user_can('your_custom_capability')) { //display only those taxonomies that he should be allowed to post into } 

Если вы показываете список категорий / таксономий по умолчанию на панели управления, вам нужно посмотреть вокруг фильтра, который применяется, когда перечислены категории / таксономии. Я проверю этот фильтр и посмотрю, смогу ли я его найти.