Функция wp_revisions_enabled()
определяет, включена ли поддержка ревизий для указанной записи в WordPress. Ревизии позволяют сохранять предыдущие версии записи, что даёт возможность восстановить предыдущие изменения, если это необходимо.
wp_revisions_enabled( WP_Post $post ): bool
WordPress по умолчанию поддерживает систему ревизий для записей, что позволяет сохранять и восстанавливать их предыдущие версии. Однако эту возможность можно отключить или ограничить количество ревизий для определённых записей. Функция wp_revisions_enabled()
позволяет узнать, включены ли ревизии для конкретной записи.
Параметры
- $post (WP_Post) (обязательный) — объект записи (WP_Post), для которой нужно определить статус ревизий.
Возвращаемое значение
- bool — Возвращает
true
, если ревизии включены для записи, иfalse
, если ревизии отключены.
Как это работает
Функция проверяет глобальные и локальные настройки ревизий для записи, включая количество сохраняемых ревизий, установленное в конфигурации WordPress. Если количество ревизий равно нулю, то считается, что ревизии отключены.
Пример 1: Проверка, включены ли ревизии для записи
$post = get_post( 12 ); // Получаем объект поста с ID 12
if ( wp_revisions_enabled( $post ) ) {
echo "Для этой записи включены ревизии.";
} else {
echo "Для этой записи ревизии отключены.";
}
Пример 2: Включение кастомной логики при отключенных ревизиях
Иногда, если ревизии для записи отключены, может потребоваться выполнить какую-либо альтернативную логику. Например, можно сохранить данные в другой базе данных или записать сообщение в лог.
$post = get_post( 25 ); // Объект поста с ID 25
if ( !wp_revisions_enabled( $post ) ) {
// Выполняем действия, если ревизии отключены
error_log( "Ревизии для записи ID 25 отключены. Выполняем альтернативные действия." );
}
Как влияют настройки ревизий
Функция wp_revisions_enabled()
также учитывает глобальные настройки в WordPress, такие как значение константы WP_POST_REVISIONS
. Если для сайта установлено ограничение по количеству ревизий, то при достижении этого лимита старые версии будут автоматически удаляться.
Эффективность
Функция работает быстро, так как проверяет только текущие настройки для записи, что позволяет использовать её без значительного влияния на производительность сайта.
Заключение
Функция wp_revisions_enabled()
играет важную роль в управлении ревизиями в WordPress. Она позволяет разработчикам гибко контролировать, нужно ли сохранять ревизии для конкретных записей или выполнить альтернативные действия, если ревизии отключены. Этот механизм обеспечивает более гибкое и надежное управление данными на сайте, помогая предотвратить потерю информации и избыточные операции.