check_and_publish_future_post()WP 2.5.0

Publishes future post and make sure post ID has future post status.

Invoked by cron 'publish_future_post' event. This safeguard prevents cron from publishing drafts, etc.

Хуков нет.

Возвращает

null. Ничего (null).

Использование

check_and_publish_future_post( $post );
$post(int|WP_Post) (обязательный)
Post ID or post object.

Список изменений

С версии 2.5.0 Введена.

Код check_and_publish_future_post() WP 6.5.2

function check_and_publish_future_post( $post ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return;
	}

	if ( 'future' !== $post->post_status ) {
		return;
	}

	$time = strtotime( $post->post_date_gmt . ' GMT' );

	// Uh oh, someone jumped the gun!
	if ( $time > time() ) {
		wp_clear_scheduled_hook( 'publish_future_post', array( $post->ID ) ); // Clear anything else in the system.
		wp_schedule_single_event( $time, 'publish_future_post', array( $post->ID ) );
		return;
	}

	// wp_publish_post() returns no meaningful value.
	wp_publish_post( $post->ID );
}