TwentyTwelve версии

Я делаю дочернюю тему для TwentyTwelve, но мой хост кэширует мои файлы, поэтому я не вижу изменений, которые я делаю в своем файле style.css.

Есть ли способ опубликовать таблицу стилей для моей дочерней темы?

Как TwentyTwelve добавляет таблицу стилей? Я не вижу его в header.php.

благодаря

Solutions Collecting From Web of "TwentyTwelve версии"

Как это НЕ сделано в WordPress

Следующий пример – это противоположность тому, как это следует делать. Плохая практика:

<style type="text/css"> <!-- /* ... Definitions that are hard to override or get rid off are here ... */ --> </style> 

Это еще один пример того, как вы не должны этого делать:

 <link rel="stylesheet" type="text/css" href="style.css"> 

Сделай это правильно

WP использует API зависимостей для управления файлами сценариев и стилей. Это означает, что вы

  1. регистр
  2. Ставить
  3. (необязательно, и только для скриптов) Локализация

Это означает, что вы сначала заходите и регистрируете скрипт для дальнейшего использования, а затем вставляете его в очередь. Таким образом, вы можете зарегистрировать таблицу стилей или сценарий в родительской теме или плагине, а затем вставить в очередь и распечатать ее на своей веб-странице по требованию .

Как предотвратить кеширование

Этот API также имеет один хороший аргумент для версий . Это означает, что у вас есть множество вариантов обновления кеша браузера или сервера, поскольку при добавлении в строку запроса добавляется строка запроса при загрузке файла:

  • вручную добавляйте новую строку версии каждый раз, когда вы пишете обновление
  • Использование функций date() или time() (или аналогичных DateTime) для постоянного обновления
  • Используйте filemtime( get_stylesheet_directory().'style.css' ) чтобы ** только изменить версию, когда вы сделали обновление.
  • И, наконец, есть метод «перебора кеша на основе имени файла», который фактически изменяет имя файла, если есть изменения. Он также нуждается в некоторых модификациях .htaccess .

пример

Это взято из плагина, который я сейчас разрабатываю:

 $file = 'js/chained_selection.js'; wp_register_script( $this->handle ,plugin_dir_url( __FILE__ ).$file ,array( 'jquery', ) ,filemtime( plugin_dir_path( __FILE__ ).$file ) ,true ); wp_enqueue_script( $this->handle ); wp_localize_script( $this->handle ,"{$this->handle}_obj" ,array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ,'nonce' => wp_create_nonce( $this->ajax_nonce_val ) ,'action' => $this->action ) ); 

Когда загружать таблицу стилей / скрипт

Обычно один просто переносит операторы register / enqueue / localize в метод или метод класса. Чтобы позволить другим прыгать в нужную точку, крючки, используемые для стилей и скриптов , следующие:

  • admin_enqueue_script // Административный интерфейс
  • wp_enqueue_script // Темы
  • login_enqueue_script // Страницы входа

Итак, что я сделал, чтобы исправить это, добавьте функцию functions.php в мою дочернюю тему и добавьте следующее:

 <?php function my_theme_styles() { wp_enqueue_style('my-theme-style', get_stylesheet_directory_uri(). '/style.css', false, date('h:i:s')); } add_action('wp_print_styles', 'my_theme_styles'); 

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