Изменение статуса поста в WordPress

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

В WordPress есть функция get_post_status(), которая возвращает статус указанного или текущего поста в цикле WordPress. Но есть ли подобная функция для того, чтобы изменить статус поста?

Да, кстати, про статусы постов есть отдельный урок.

Вообще в ядре WordPress нет функции set_post_status(), поэтому давайте её напишем сами. Это будет совсем не сложно.

if( ! function_exists( 'set_post_status' ) ) {
 
	function set_post_status( $post_status, $post = null ) {
 
		$post = get_post( $post );
 
		if ( ! is_object( $post ) ) {
			return false;
		}
 
    		$post_id = wp_update_post( array(
			'ID' => $post->ID,
			'post_status' => $post_status
		) );
 
		if( $post_id ) {
			return true;
		} else {
			return false;
		}
	}
}

Пример использования функции:

set_post_status( 'draft' ); // изменяем статус текущего поста в цикле на Черновик

Или:

set_post_status( 'publish', 5 ); // изменяем статус поста с ID=5

Вот в целом и всё!

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии