По умолчанию, при редактировании поста в WordPress его статус не меняется. Однако, вы можете изменить статус поста после его редактирования, используя хук post_updated
. Для этого вам нужно добавить следующий код в файл functions.php вашей темы:
function change_post_status( $post_id ) { if ( ! wp_is_post_revision( $post_id ) && 'post' == get_post_type( $post_id ) ) { $post = get_post( $post_id ); if ( 'publish' == $post->post_status ) { $post->post_status = 'draft'; wp_update_post( $post ); } } } add_action( 'post_updated', 'change_post_status', 10, 1 );
В этом коде мы используем хук post_updated
, который вызывается после сохранения поста. Функция change_post_status
проверяет, что пост не является ревизией и имеет тип post
. Затем мы проверяем текущий статус поста и, если он равен publish
, то мы меняем его статус на draft
(черновик) и сохраняем обновленный пост с помощью функции wp_update_post
.
Вы можете изменить статус на любой другой, поддерживаемый WordPress, заменив draft
на нужный статус в коде выше.
Я даю согласие на сбор и обработку моих персональных данных. Политика конфиденциальности