wp_delete_post_revision()
Удаляет ревизию записи по ID.
Порядок работы:
- Проверяется существование ревизии с помощью функции wp_get_post_revision(). Если ревизия не найдена, сразу вернёт null.
- Если ревизия найдена, то её ID передаётся функции wp_delete_post() на удаление.
- Если удаление прошло успешно, то срабатывает хук-событие wp_delete_post_revision.
- Возвращается результат операции.
Основа для: wp_save_post_revision()
Хуки из функции
Возвращает
WP_Post|false|null
.
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 ); }
Список изменений
С версии 2.6.0 | Введена. |