Как в wordpress сделать блок страницы динамическим, когда кеш включен?

Для того чтобы сделать блок страницы динамическим в WordPress, когда кеш включен, нужно использовать функциональность, предоставляемую плагинами или расширениями. Одним из таких популярных плагинов является "WP Rocket".

WP Rocket является платным плагином, который предоставляет возможность кэширования страницы с динамическим содержимым. В конфигурации плагина есть возможность указать определенные части страницы, которые должны быть исключены из кэширования, чтобы они всегда были динамическими.

Если вы хотите реализовать динамический блок на своей странице без использования плагина, вам придется покопаться в коде и воспользоваться некоторыми функциями и хуками, предоставляемыми WordPress.

Прежде всего, вы можете использовать функцию wp_cache_flush(), которая сбрасывает все данные кеша страницы. Вызов этой функции может быть полезным, когда вам нужно сгенерировать новое динамическое содержимое блока страницы.

Например, если вы хотите сделать блок с последними добавленными записями, вы можете использовать функцию get_posts() для запроса записей из базы данных и выводить результаты в шаблоне. После того, как новая запись добавлена, вы можете вызвать wp_cache_flush(), чтобы сбросить данные кеша страницы и показать обновленный список записей.

Также, вы можете использовать событие save_post, которое вызывается после сохранения записи, чтобы выполнить какие-либо действия. Например, вы можете вызвать wp_cache_flush(), чтобы сбросить кеш страницы после сохранения записи и обновить содержимое блока страницы.

Примерный код может выглядеть следующим образом:

function flush_cache_on_save_post($post_id) {
    wp_cache_flush();
}
add_action('save_post', 'flush_cache_on_save_post');

Этот код будет вызывать wp_cache_flush() после сохранения каждой записи.

Важно отметить, что при использовании динамических блоков на странице в WordPress с включенным кэшем может повысить нагрузку на сервер, так как он должен будет генерировать новые данные при каждом запросе. Поэтому, вам следует тщательно оценить необходимость использования динамических блоков и выбирать оптимальный способ их реализации.