Intereting Posts
Потеря способности предварительного просмотра: W3 Total Cache + Постоянное имя Добавление «ответа на» в письме Каков рекомендуемый метод переноса сайта wordpress в wordpress Multisite? Как показать CPT, который имеет конкретный мета-ключ? Как удалить имя сайта или название главной страницы из всех названий страниц? боковая панель не отображается, что случилось с этим кодом? Последняя версия javascript Как вы используете класс загрузчика плагинов-плагинов для подбора действий и фильтров? Предложение плагина: найти неработающие ссылки создание псевдостатической страницы Пользовательская структура навигации с классом walker Невозможно загрузить результаты поиска с помощью ajax Как я могу создать пользовательский поиск продукта? Пользовательский тип сообщения Nav для подстраницы Добавить настраиваемое поле для автора и списка авторов списка в этом поле

Автор сообщения изменен на admin после того, как его сообщение изменено администратором

Я пишу плагин, который позволит писать сообщения из front-end. Эти сообщения должны быть проверены администратором до опубликования. Теперь, если администратор редактирует сообщение или публикует сообщение, автор сообщения изменяется с исходного автора на администратора. Как я могу это предотвратить?

Административные редакторы могут исправить автора вручную .

Кроме того, вы можете добавить собственные метаданные сообщения для обозначения оригинального автора. Затем, подключаясь к действиям publish_post или transition_post_status (или даже save_post на то пошло), вы можете проверить наличие метаданных, когда публикация публикуется, а если она существует, замените автора сообщения оригиналом из мета -данные.

Попытка выбить его одним крючком:

 function correct_post_data( $strNewStatus, $strOldStatus, $post ) { /* Only pay attention to posts (ie ignore links, attachments, etc. ) */ if( $post->post_type !== 'post' ) return; /* If this is a new post, save the original author into the post's meta-data. */ if( $strOldStatus === 'new' ) { update_post_meta( $post->ID, 'original_author', $post->post_author ); } /* If this post is being published, try to restore the original author */ if( $strNewStatus === 'publish' ) { $originalAuthor = get_post_meta( $post->ID, 'original_author' ); /* If this post has an original author and it's not who the post says it is, revert the author field. */ if( !empty( $originalAuthor ) && $originalAuthor != $post->post_author ) { $postData = array( 'ID' => $post->ID, 'post_author' => $originalAuthor ); wp_update_post( $postData ); //May wish to check if this returns 0 for error-handling } } } add_action( 'transition_post_status', 'correct_post_data' ); 

Проверка на !is_admin() там где-то также может быть полезна, чтобы подтвердить, что пользователь находится где-то на переднем конце сайта.

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

Попробуйте добавить поддержку автора и посмотрите, поможет ли это!

Это кажется очень странной проблемой. Статус сообщения не должен влиять на настройку пользователя.

Считаете ли вы использование Gravity Forms? Это платный плагин, но он неплохо справляется с созданием форм, и относительно просто создать форму переднего конца, которая автоматически создает сообщение (в published или draft или в режиме review ).