Intereting Posts
WP для основного сайта и двух блогов – реализация Как заказать мой запрос цикла? Несколько петель на одной странице, удаляющей теги Функция списка подписки Как использовать цвет из параметров темы? Как добавить список всех галерей на мою боковую панель? Как просмотреть результат короткого кода в редакторе TinyMCE? Что я могу использовать для небольшого текста при конвертации в WordPress? Отображать похожие сообщения по категориям в случайном порядке Пользовательская таксономическая разбивка на страницы Как использовать пустое пространство слева и справа от сообщения? Фильтрация пользовательских типов сообщений по значению поля Google отображает несколько маркеров этого графика – каждый с пользовательскими данными Как я могу получить пользовательский тип сообщения, назначенный текущей пользовательской таксономии для запроса? Изображения не выравниваются правильно

Как позволить вкладчикам создавать новую редакцию (проект), редактируя свои опубликованные сообщения

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

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

Для умеренных записей пользователей эта публикация публикуется редактором.

Я хотел бы, чтобы пользователи (участники) были:

  • не удалось добавить другие сообщения этого настраиваемого типа;
  • возможность редактировать уже опубликованную публикацию, автором которой они являются;
  • и их изменения должны быть одобрены редактором до опубликования.

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

Есть ли способ сделать это?

Используя редактор ролей или область ролей, вы можете установить вкладчиков для редактирования настраиваемого типа сообщений, но не публиковать, поэтому каждое изменение будет установлено как черновик до утверждения, а также для ограничения создания новых сообщений вашего пользовательского типа сообщений вы можете использовать мой плагин Bainternet Posts Пределы создания

Обновить

Для принудительного повторного утверждения изменений добавьте этот код

add_filter('wp_insert_post_data','re_aprove'); function re_aprove($data , $postarr){ global $current_user; get_currentuserinfo(); //check if current user is not admin if (!current_user_can('manage_options') && $postarr['post_type'] == "YOUR_CUSTOM_TYPE" ){ if ($data['post_status'] == "publish"){ $data['post_status'] = "pending"; } } return $data; } 

и измените YOUR_CUSTOM_TYPE на свое собственное имя типа сообщения.

Мой не работал, пока я не добавил «99», 2); до конца add_filter.

Вот ссылка, почему: http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_insert_post_data

 add_filter('wp_insert_post_data','re_aprove', '99', 2); function re_aprove( $data , $postarr ){ global $current_user; get_currentuserinfo(); //check if current user is not admin if (!current_user_can('manage_options') && $postarr['post_type'] == "candy-item" ){ if ($data['post_status'] = "publish"){ $data['post_status'] = "pending"; } } return $data; } 

наконец, я решил использовать плагин Revisionary , http://wordpress.org/extend/plugins/revisionary/, он используется для того, чтобы сделать то, что я прошу в названии темы

для более детального контроля над возможностями (с уже интегрированными ревизионистами) есть Role Scoper http://wordpress.org/extend/plugins/role-scoper/

первый из них очень прост в настройке, а второй требует гораздо больше практики, пользовательский интерфейс немного запутан, но он действительно мощный