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 | Введена. |