Чтобы полностью отключить транзиенты в WordPress, нельзя просто использовать фильтры, которые вы указали, поскольку они не предотвращают создание транзиентов. Вместо этого вы можете использовать другие подходы, чтобы решить эту задачу. Вот несколько методов:
### 1. Переопределение функций транзиентов
Вы можете переопределить функции, связанные с транзиентами, используя код в вашем `functions.php` или в плагине. Например:
```php
if ( ! function_exists( 'set_transient' ) ) {
function set_transient() {
return false;
}
}
if ( ! function_exists( 'get_transient' ) ) {
function get_transient() {
return false;
}
}
if ( ! function_exists( 'delete_transient' ) ) {
function delete_transient() {
return false;
}
}
```
Этот код переопределяет функции и возвращает `false`, тем самым предотвращая установку и получение транзиентов.
### 2. Отключение кэширования на уровне плагинов
Если вы используете плагины, которые активно используют транзиенты для кэширования (например, WP Super Cache, W3 Total Cache и т.д.), вы можете изучить настройки этих плагинов и отключить кэширование, связанное с транзиентами.
### 3. Использовать альтернативные методы кэширования
Если ваша цель состоит в том, чтобы избежать использования транзиентов для кэширования, вы можете рассмотреть возможность использования других методов кэширования, например, кэширование на стороне базы данных или использование внешних систем кэширования.
### 4. Удаление транзиентов
Если вы хотите гарантировать, что транзиенты не останутся в базе данных, вы можете также создать задачу CRON, которая периодически будет очищать старые транзиенты:
```php
if ( ! wp_next_scheduled( 'clear_old_transients' ) ) {
wp_schedule_event( time(), 'hourly', 'clear_old_transients' );
}
add_action( 'clear_old_transients', function () {
delete_expired_transients();
} );
function delete_expired_transients() {
global $wpdb;
$wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '_transient%' OR option_name LIKE '_transient_timeout%'" );
}
```
### Заключение
Полное отключение транзиентов может привести к ухудшению производительности вашего сайта. Если вам необходимо избежать их использования, постарайтесь найти альтернативные способы кэширования, которые лучше подойдут для ваших нужд. Убедитесь, что исключение транзиентов не нарушит работу вашего сайта или его плагинов.