wp_delete_auto_drafts()
Видаляє авто-чернетки (записи зі статусом 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()
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 6.0.2
function wp_delete_auto_drafts() { Global $wpdb; // Cleanup old auto-drafts більше 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); } }