Подскажите! Как можно запретить авторам постов редактирование, если пост отправлен на модерацию или уже опубликован? И запретить удаление постов, отправленных на модерацию, чтобы пользователи могли удалять только черновики. Есть ли какие-нибудь встроенные средства wp-recall, или хотя бы в каком направлении искать?
Антон сказал(а)
Как можно запретить авторам постов редактирование, если пост отправлен на модерацию или уже опубликован?
посмотрите в сторону фильтра rcl_post_bar_items
, через него можно получить данные различных кнопочек, которые выводятся над постом, в том числе кнопки на редактирование публикации от плагина, проверяйте на статус публикации и при необходимости удаляйте кнопку из массива.
Антон сказал(а)
И запретить удаление постов, отправленных на модерацию
через фильтр rcl_public_form_user_can
можно получить возможности текущего пользователя в форме публикации, удаляйте право на удаление
посмотрите в сторону фильтра rcl_post_bar_items, через него можно получить данные различных кнопочек, которые выводятся над постом, в том числе кнопки на редактирование публикации от плагина, проверяйте на статус публикации и при необходимости удаляйте кнопку из массива.
Спасибо! Но как понял, таким образом удалится только кнопочка перехода на страницу редактирования, а "самый умный" все равно сможет перейти на страницу редактирования записи используя ссылку, просто подставляя в параметре ?rcl-post-edit id своего поста.
Верно, но я также дал вам второй фильтр через который вы также можете повлиять на права текущего пользователя в форме публикации, а именно на право редактирования, надо его удалить при нужных условиях.
Права - это обычный массив:
$user_can = array( 'upload' => true, 'publish' => true, 'delete' => true, 'draft' => true, 'edit' => true );