Intereting Posts
Как создать карту с маркерами из отдельных сообщений? Увеличение изображения kb при изменении размера Как вернуть изображение из пользовательской конечной точки API REST? Параметры URL, вызывающие 404 на главной странице, но нигде больше Как вставить пользовательский виджет в пользовательскую боковую панель при активации темы? Почему the_post_thumbnail выводит полноразмерные изображения после активации поддержки после эскизов? Как добавить 2-й «избранный образ» в сообщение? Комментарий в HTML-редакторе разрывает шаблон Вставить термин, когда публикуется страница – избежать дубликатов после редактирования Отображение страницы на странице архива с неработающим фильтром таксономии Как показать главную страницу на другом URL-адресе, например site.com/blog, а не на сайте? Якорный тег генерирует пустой атрибут href с помощью echo esc_url () Параметры GET мешают моим настройкам плагина Шаблон таксономии категории, не работающий для пользовательских сообщений Отдельная страница пользовательского типа сообщения, не отображающего содержание сообщения

Запретить «вкладчикам» редактировать свои собственные сообщения, как только они будут установлены в «Ожидающий просмотр»,

Мой вопрос – это именно то, что есть в названии: как я могу запретить «вкладчикам» редактировать свои собственные сообщения после того, как они настроены на «Ожидание обзора»? Кажется, я не могу найти документацию о том, как это сделать. Благодаря!

Solutions Collecting From Web of "Запретить «вкладчикам» редактировать свои собственные сообщения, как только они будут установлены в «Ожидающий просмотр»,"

Вы можете сделать это, установив, что автор сообщения является участником и статус сообщения находится в ожидании до того, как сообщение будет сохранено.

Перед сохранением сообщения:

add_filter( 'wp_insert_post_data', 'disallow_edit_pending_3748', 99, 2 ); function disallow_edit_pending_3748( $post_data, $post_array ){ if( 'pending' == $post_data['post_status'] && current_user_can( 'contributor' ) ){ // there's no other way to do this. // Nothing can stop the post from saving and still make sense to the user, except this. wp_redirect(add_query_arg( 'message', 999, get_edit_post_link( $post_array['ID'], 'url' ))); exit; } return $post_data; } 

Add_query_arg для добавления сообщения = 999 является необязательным. Вы можете просто сделать wp_redirect(get_edit_post_link( $post_arr['ID'], 'url' ));

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

 add_filter( 'post_updated_messages', 'add_custom_message_3748' ); function add_custom_message_3748( $messages ){ $messages['post'][999] = "No, you can't do this!"; return $messages; } 

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