Intereting Posts
Добавить страницу подменю в меню «Пользователи» Как потреблять и отображать внешние данные в WordPress с другого веб-сайта WordPress wp-admin / network / plugin-install Как совместно использовать переменные между двумя функциями? другой шаблон для персонализированной страницы первого и второго уровня Добавление подписи в конце крошечного редактора mce Продвижение детской темы в одиночку Использование wp_query для изменения цикла в index.php для CPT Возврат wp_post-> post_parent 0 Как вызвать функцию, которая создает таблицу в базе данных (функциональность плагина) Прямое редактирование проблем базы данных WP Как проверить, существует ли определенный плагин и в ожидаемой версии TinyMCE: добавление CSS в формат Редактирование короткого кода в постконтентном программном обеспечении Как я могу использовать белый список только для определенных коротких кодов для обработки в текстовых виджетах?

Как создать кнопку 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' );