wp_revisions_to_keep()
Визначає, скільки останніх ревізій (змін) слід зберігати в базі даних для конкретного запису (поста).
Це обгортка для:
- Константи
WP_POST_REVISIONS
. - Хука wp_revisions_to_keep .
- Хука wp_(post_type)_revisions_to_keep .
Значення константи передається перший хук, потім у другий і отримане число (результат) повертається. Тобто. функція спирається значення константи WP_POST_REVISIONS
і дозволяє змінити результат через хуки.
Константа WP_POST_REVISIONS
задається у файлі wp-config.php .
WP_POST_REVISIONS
може бути одно:
true
(за замовчуванням) – зберігається нескінченна кількість ревізій.Дефолтне значення константи визначено у файлі /wp-includes/default-constants.php .
false
або0
– ревізії будуть відключені.число
– Скільки ревізій зберігати. Якщо вказано 5, то зберігатиметься 5 останніх змін запису.
Підтримка ревізій включається під час реєстрації типу запису register_post_type() . Або окремо через функцію:
post_type_supports( 'post_type', 'revisions' )
Якщо тип запису підтримка ревізій вимкнена, то значення константи WP_POST_REVISIONS
обнулюється. Однак, навіть якщо ревізії відключені для типу запису, їх все одно можна увімкнути через хуки, наприклад, для окремого запису. Дивіться приклад 2.
Є ще функція wp_revisions_enabled() – перевірять чи включені ревізії для запису.
(повільно) | 50000 разів – 0.04072 сек
(швидкість світла) |
PHP 7.4.25, WP 5.9
Хуки з функції
-
$post
( WP_Post ) (обов’язковий) - Об’єкт запису.
Приклади
#1 Дізнаємось скільки ревізій дозволено зберігати записи
На чистій установці WordPress дізнаємося, який ліміт ревізій у першого запису.
// Отримаємо запис з ID=1 $post = get_post(1); // Отримаємо ліміт ревізій для цього запису $qty = wp_revisions_to_keep($post); // Виведе -1, тобто можна зберігати нескінченну кількість ревізій print_r($qty); //> -1
#2 Увімкнемо ревізії для окремого запису
Припустимо, у нас є тип запису article
, який не підтримує ревізії. Але нам потрібно включити ревізії для одного конкретного запису, наприклад ID 54.
add_filter( 'wp_revisions_to_keep', function( $num, $post ){ if( 54 === $post->ID ){ return -1; } return $num; }, 10, 2);
список змін
З версії 3.6.0 | Введено. |