WordPress как на ладони
WordPress темы и плагины за 250 рублей wordpress jino

wp_delete_auto_drafts() WP 3.4.0

Удаляет авто-черновики (статус auto-drafts) у новых постов, возраст которых составляет более 7 дней.

Функция запросом собирает ID всех черновиков (постов со статусом auto-draft), с возрастом более 7 дней (post_date более 7 дней). Если таковые нашлись, удаляет их с помощью wp_delete_post(), минуя корзину.

В движке функция вызывается каждый день через крон с помощью wp_schedule_event().

// файл wp-admin/post-new.php:66
if ( ! wp_next_scheduled( 'wp_scheduled_auto_draft_delete' ) ) {
	wp_schedule_event( time(), 'daily', 'wp_scheduled_auto_draft_delete' );
}

// файл wp-includes/default-filters.php:325
add_action( 'wp_scheduled_auto_draft_delete', 'wp_delete_auto_drafts' );
Работает на основе: wp_delete_post()

Хуков нет.

Возвращает

Ничего (null).

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

wp_delete_auto_drafts();

Примеры

#1 Удалить все авто-черновики

Функция не имеет параметров, поэтому вариант использования всего один:

wp_delete_auto_drafts();

Код wp delete auto drafts: wp-includes/post.php VER 4.9.6

<?php
function wp_delete_auto_drafts() {
	global $wpdb;

	// Cleanup old auto-drafts more than 7 days old.
	$old_posts = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_status = 'auto-draft' AND DATE_SUB( NOW(), INTERVAL 7 DAY ) > post_date" );
	foreach ( (array) $old_posts as $delete ) {
		// Force delete.
		wp_delete_post( $delete, true );
	}
}

Cвязанные функции

Из метки: cron (расписание schedule)

Еще из раздела: Ревизии (редакции)

campusboy 2799youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своими опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться