Есть несколько способов справиться с этим, и оба включают в себя написание PHP.
Первый и рекомендованный способ - использовать wp_enqueue_style()
вместо добавления тега <link>
в файл ветки.
/**
* Places the following tag into the page <head>, where
* `{ theme_url }` = the url of your theme directory
* `{ filemtime }` = the timestamp of the last modified date
* for the stylesheet
* <link rel="stylesheet" href="{ theme_url }/dist/css/style.min.css?ver={ filemtime }" />
*/
function my_custom_css_styles() {
wp_enqueue_style(
'main-styles',
get_template_directory_uri() . '/dist/css/style.min.css',
array(),
filemtime(get_template_directory() . '/dist/css/style.min.css'),
false );
}
add_action( 'wp_enqueue_scripts', 'my_custom_css_styles' );
При необходимости вы можете поместить в функцию несколько таблиц стилей и включить логику для их условной загрузки на основе типа записи, идентификатора записи или всего, что вы можете определить для текущей страницы с помощью PHP.
Если по какой-то причине у вас это не работает, второй метод - сгенерировать номер версии с помощью PHP, а затем добавить его в качестве новой переменной в контекст Timber. Ваша строка в Twig будет выглядеть так:
<link rel="stylesheet" href="{{ site.theme.uri }}/dist/css/style.min.css?ver={{ style_css_version }}" />
Затем в файле шаблона вы добавите новую переменную style_css_version
после определения контекста:
$context = Timber::get_context();
$context['style_css_version'] = filemtime(get_template_directory() . '/dist/css/style.min.css');
Если вы хотите использовать это на каждой странице вашего сайта, а не только на страницах с определенным шаблоном, вы можете добавить его в глобальный контекст Timber из вашего functions.php
(дополнительная информация на Timber - расширить данные до контекст (WordPress) ):
function my_custom_timber_context( $context ) {
$context['style_css_version'] = filemtime(get_template_directory() . '/dist/css/style.min.css');
}
add_filter( 'timber_context', 'my_custom_timber_context' );