Intereting Posts
Как проверить поле при создании сообщения Переменная равна другой переменной, а затем равна другой переменной Как 2 блоги могут использовать одни и те же пользователи Санизировать значение настраиваемого поля в мета-запросе Переопределение иерархии шаблонов Получение постоянной связи внутри цикла Показать связанные сообщения, основанные на текущем имени поля ACF, в одном сообщении страницы (цикл в цикле) показать поля пользователя cimy в users.php с помощью manage_users_columns Получите интерфейс, похожий на содержимое страницы в виджет панели мониторинга Сообщения WPDB Multiple site и получаемые изображения get_template_part для каждого уровня таксономии Как добавить правило перезаписи для указания файла Навигация по сообщениям с разными типами сообщений, которые находятся в одних и тех же категориях Отображать контент на основе пользовательского значения поля Пожалуйста, помогите мне с тегом <! – next page -> и php-кодом

Как создать кнопку Customizer WordPress для очистки кеша?

Я создаю пользовательский шаблон, который использует кэш файлов шаблонов лезвий, которые он создает. Во время работы я вносил изменения в настройку и был смущен, почему мои изменения не показывались. Мне потребовалось некоторое время, чтобы понять, что файлы кликов были кэшированы, поэтому изменения макета не повлияли.

Таким образом, в будущем я хотел бы иметь кнопку «clear cache» в WordPress Customizer, которую я мог бы щелкнуть, чтобы удалить каталог кеша. Но я не могу понять, как это сделать.

Эта тема строится из шаблона WordPress «Sage 9» в случае, если это имеет значение.

Вот мой элемент управления (может быть или не прав) в /app/admin.php

$wp_customize->add_control( new \WP_Customize_Control( $wp_customize, 'clearcache', [ 'label' => __( 'Clear Cache', 'starcresc' ), 'section' => 'layout', 'settings' => 'clearCache', 'type' => 'button', 'choices' => [ '0' => __( 'No (Default)' ), 'Clear Cache' => __( 'Yes' ), ] ]) ); 

Вот моя функция, которую я добавляю в файл functions.php, который должен удалять файлы кеша, хранящиеся в файле siteurl / wp-content / uploads / cache

 function sc_clearcache() { return $upload_dir = wp_upload_dir(); $files = glob($upload_dir . 'cache/*'); // get all file names foreach($files as $file){ // iterate files if(is_file($file)) unlink($file); // delete file } }; 

Но я не знаю, как подключить их и заставить кнопку на самом деле вызывать функцию.

Solutions Collecting From Web of "Как создать кнопку Customizer WordPress для очистки кеша?"

Кэш должен действительно очищаться на основе некоторых изменений, которые вы сделали, а не на основе ручной очистки кеша. Не можете ли вы отключить кеширование в предварительном просмотре Customizer, отключив его, когда is_customize_preview() ? Затем вы можете очистить кеш при действии customize_save_after :

 add_action( 'customize_save_after', 'sc_clearcache' );