wp_delete_post_revision()
Видаляє ревізію запису за ID.
Порядок роботи:
- Перевіряється існування ревізії за допомогою функції wp_get_post_revision() . Якщо ревізію не знайдено, відразу поверне null.
- Якщо ревізія знайдено, її ID передається функції wp_delete_post() на видалення.
- Якщо видалення пройшло успішно, спрацьовує хук-подія wp_delete_post_revision .
- Повертається результат операції.
Хуки з функції
wp_delete_post_revision( $revision_id );
-
$revision_id
(число/WP_Post) (обов’язковий) - ID ревізії чи її об’єкт.
Приклади
#1 Видалимо ревізію з ID = 7
$rev = wp_delete_post_revision(7); if ( $ rev ) { // ревізія видалена успішно } else { // Такої ревізії не знайшлося }
#2 Видалимо всі ревізії зазначеного посту
Global $wpdb; $ Postid = 5; // ID поста ревізії якого видалятимемо // Отримаємо всі ревізії посту $revision_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'revision'", $postid ) ); foreach( $revision_ids as $revision_id ){ wp_delete_post_revision( $revision_id ); }
список змін
З версії 2.6.0 | Введено. |
Код wp_delete_post_revision() wp delete post revision WP 6.0.2
function wp_delete_post_revision( $revision_id ) { $ revision = wp_get_post_revision ($ revision_id); if ( ! $revision ) { return $revision; } $delete = wp_delete_post( $revision->ID ); if ($ delete) { /** * Fires once a post revision has been deleted. * * @ Since 2.6.0 * * @param int $revision_id Post revision ID. * @param WP_Post $revision Post revision об'єкт. */ do_action( 'wp_delete_post_revision', $revision->ID, $revision); } return $delete; }