WordPress как на ладони
Дешевый WordPress пакет для разработки Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

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. Возвращается результат операции.
Хуки из функции:
Возвращает

null/false/WP_Post.

  • WP_Post при успешном удалении ревизии.
  • null при ошибке (ревизия не найдена).
  • false при неудачной попытке удаления (запрос в БД провалился).

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

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 );

Код wp_delete_post_revision: wp-includes/revision.php VER 4.9.8

<?php
function wp_delete_post_revision( $revision_id ) {
	if ( ! $revision = wp_get_post_revision( $revision_id ) ) {
		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 object|array $revision    Post revision object or array.
		 */
		do_action( 'wp_delete_post_revision', $revision->ID, $revision );
	}

	return $delete;
}

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

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

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