Intereting Posts
Целесообразно использовать $ post-> comment_count вместо get_comments_number ($ post_id) Walker_Nav_Menu не работает в wp_page_menu_args filter Настройка прокси-конфигурации для ssh-туннелирования Динамическая целевая страница – правильно ли я это делаю? Термины Php Mysql порядок запросов mysql как получить варианты выбора формата публикации в добавить новое сообщение Не удается найти автора на боковой панели single.php Установите ссылку в дочерней теме style.css, чтобы перейти к #main Добавление коротких кодов из содержимого страницы в заголовке и скрытие от содержимого страницы Субдомены без WordPress в многоузловой установке Шаблон категории – Показать последнюю запись в избранном Удалить пользовательскую структуру постоянной ссылки из пользовательского типа сообщения без изменения register_post_type () напрямую Бесплатная доставка только для определенных товаров – или получить местный пикап в качестве опции, если элемент установлен на виртуальный Могу ли я изменить имя /wp-admin/options-general.php?

Привязка номера версии к основной таблице стилей дочерней темы

В header.php мне нравится присваивать номер версии таблице стилей, чтобы браузеру пришлось обновить ее. Но при работе с дочерней темой его таблица стилей не называется явно, а WordPress автоматически ищет ее. Итак, как и где атрибут номера версии для таблицы стилей дочерней темы?

Solutions Collecting From Web of "Привязка номера версии к основной таблице стилей дочерней темы"

Вы можете обновить версию в самой таблице стилей дочерних тем …

/* Theme Name: Twenty Fourteen Child Theme URI: http://example.com/twenty-fourteen-child/ Description: Twenty Fourteen Child Theme Author: John Doe Author URI: http://example.com Template: twentyfourteen Version: 1.1.2 <---- Update here */ 

Я думаю, что лучший способ сделать это – оставить пустую таблицу стилей для детей (style.css) пустым только с необходимыми комментариями (например, имя темы, описание и т. Д., Чтобы WordPress распознал вашу тему), а затем сделать еще один файл css в вашем – тема-имя-папки / CSS / main.css

После этого на function.php вы можете иметь новую «версию» каждый раз, когда вы меняете файл:

 function my_scripts_and_styles(){ $cache_buster = date("YmdHi", filemtime( get_stylesheet_directory() . '/css/main.css')); wp_enqueue_style( 'main', get_stylesheet_directory_uri() . '/css/main.css', array(), $cache_buster, 'all' ); } add_action( 'wp_enqueue_scripts', 'my_scripts_and_styles', 1); 

Логика:

Каждый раз, когда вы сохраняете файл, изменяется время изменения файла. Новое время передается в функцию даты, чтобы преобразовать время (filemtime возвращает целое число, представляющее время) в формат даты, чтобы сделать его строкой в ​​желаемом формате. В нашем примере время форматируется с точностью до минут. Вы можете изменить его для отслеживания даже второго, то есть "YmdHis" После этого новое измененное время файла передается как новая версия в wp_enqueue_style .

Справка :

http://www.php.net/filemtime

http://php.net/manual/en/function.date.php

Что вам нужно сделать, это де-регистр основного стиля с помощью дескриптора, а затем повторная регистрация с номером вашей версии. В этом случае дескриптор имеет style-css .

Вы можете определить дескриптор, который вам нужно использовать, посмотрев ссылку на выделенную таблицу стилей:

 <link rel='stylesheet' id='style-css-css' href='http://site-url/wp-content/themes/child-theme/style.css?ver=4.6.1' type='text/css' media='all' /> 

Здесь id – style-css-css что означает, что наш дескриптор – style-css

Поместите это в function.php вашей дочерней темы:

 function wpse_145141_change_style_version(){ // First de-register the main stylesheet wp_deregister_style( 'style-css' ); // Then add it again, using your custom version number wp_register_style( 'style-css', get_stylesheet_uri(), array(), "VERSION_NUMBER" ); //finally enqueue it again wp_enqueue_style( 'style-css'); } add_action( 'wp_enqueue_scripts', 'wpse_145141_change_style_version'); 

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

Вместо использования стандартного стиля style.css я обычно использую wp_enqueue_style в функции functions.php дочерней темы или другой включенный php-файл. Таким образом, у вас все еще будет стиль style.css в дочерней теме со всеми подробностями детской темы, но тогда у вас может быть отдельный файл css в дочерней теме для фактического стилей детской темы (обычно я помещаю это в активы / css каталог в дочерней теме). Это также позволит вам установить версию CSS с 4-м параметром. Например:

 function theme_name_child_scripts() { wp_enqueue_style( 'style-name', get_stylesheet_directory_uri() . '/assets/css/child-style.css', array(), '1.0.0', 'screen'); } add_action( 'wp_enqueue_scripts', 'theme_name_child_scripts' ); 

Вы можете добавить приоритет к действию, если он не загружается в правильном порядке или работает с параметром зависимости в wp_enqueue_style выше:

 add_action( 'wp_enqueue_scripts', 'theme_name_child_scripts', 20 );