wp_delete_auto_drafts() WP 3.4.0
Удаляет авто-черновики (записи со статусом auto-drafts) возрастом более 7 дней.
Запись со статусом auto-drafts создается сразу при заходе на страницу добавления записи. Далее, при первом сохранении этот статус меняется на draft.
Функция запросом собирает ID всех auto-draft с 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();
Заметки
- Global. wpdb. $wpdb WordPress database abstraction object.
Список изменений
С версии 3.4.0 | Введена. |
Код wp_delete_auto_drafts() wp delete auto drafts WP 5.6
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 );
}
}