wp_delete_post_revision() WP 2.6.0

Видаляє ревізію запису за ID.

Порядок роботи:

  1. Перевіряється існування ревізії за допомогою функції wp_get_post_revision() . Якщо ревізію не знайдено, відразу поверне null.
  2. Якщо ревізія знайдено, її ID передається функції wp_delete_post() на видалення.
  3. Якщо видалення пройшло успішно, спрацьовує хук-подія wp_delete_post_revision .
  4. Повертається результат операції.

Хуки з функції
wp_delete_post_revision( $revision_id );
$revision_id
(число/WP_Post) (обов’язковий)
ID ревізії чи її об’єкт.

Приклади

0

#1 Видалимо ревізію з ID = 7

$rev = wp_delete_post_revision(7); if ( $ rev ) { // ревізія видалена успішно } else { // Такої ревізії не знайшлося }
0

#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 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; }

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *