Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Twig+wordpress-如何获取style.css的filemtime_Wordpress_Twig_Timber - Fatal编程技术网

Twig+wordpress-如何获取style.css的filemtime

Twig+wordpress-如何获取style.css的filemtime,wordpress,twig,timber,Wordpress,Twig,Timber,我在wordpress主题中使用了细枝+木材。我以这种方式包含style.css文件 <link rel="stylesheet" href="{{ site.theme.uri }}/dist/css/style.min.css" /> 有几种方法可以处理这个问题,它们都涉及到编写一些PHP 第一种方法,也是我推荐的方法,是使用而不是将标签添加到您的细枝文件中 /** *将以下标记放置到页面中,其中 *`{theme\u url}`=主题目录的url *`{filemtime}`

我在wordpress主题中使用了细枝+木材。我以这种方式包含style.css文件

<link rel="stylesheet" href="{{ site.theme.uri }}/dist/css/style.min.css" />

有几种方法可以处理这个问题,它们都涉及到编写一些PHP

第一种方法,也是我推荐的方法,是使用而不是将标签添加到您的细枝文件中

/** *将以下标记放置到页面中,其中 *`{theme\u url}`=主题目录的url *`{filemtime}`=上次修改日期的时间戳 *对于样式表 * */ 函数my_自定义_css_样式{ wp_排队式 “主要风格”, 获取模板目录uri'/dist/css/style.min.css', 大堆 filemtimeget\u template\u目录'/dist/css/style.min.css', 错误的 } 添加动作“wp_排队_脚本”、“我的自定义_css_样式”; 如果需要,您可以将多个样式表放入函数中,并且可以包含逻辑,根据post类型、post ID或您可以使用PHP确定的关于当前页面的任何内容有条件地加载它们

如果由于某种原因这对您不起作用,第二种方法是使用PHP生成您的版本号,然后将其作为新变量添加到您的上下文中。细枝中的线条如下所示:

<link rel="stylesheet" href="{{ site.theme.uri }}/dist/css/style.min.css?ver={{ style_css_version }}" />
如果您希望在站点上的每个页面上使用此功能,而不仅仅是在具有特定模板的页面上,您可以从functions.php将其添加到全局木材上下文中。更多信息,请访问:

函数my_custom_timber_context$context{ $context['style_css_version']=filemtimeget_template_目录。'/dist/css/style.min.css'; } 添加_过滤器'timber_context'、'my_custom_timber_context';
有几种方法可以处理这个问题,它们都涉及到编写一些PHP

第一种方法,也是我推荐的方法,是使用而不是将标签添加到您的细枝文件中

/** *将以下标记放置到页面中,其中 *`{theme\u url}`=主题目录的url *`{filemtime}`=上次修改日期的时间戳 *对于样式表 * */ 函数my_自定义_css_样式{ wp_排队式 “主要风格”, 获取模板目录uri'/dist/css/style.min.css', 大堆 filemtimeget\u template\u目录'/dist/css/style.min.css', 错误的 } 添加动作“wp_排队_脚本”、“我的自定义_css_样式”; 如果需要,您可以将多个样式表放入函数中,并且可以包含逻辑,根据post类型、post ID或您可以使用PHP确定的关于当前页面的任何内容有条件地加载它们

如果由于某种原因这对您不起作用,第二种方法是使用PHP生成您的版本号,然后将其作为新变量添加到您的上下文中。细枝中的线条如下所示:

<link rel="stylesheet" href="{{ site.theme.uri }}/dist/css/style.min.css?ver={{ style_css_version }}" />
如果您希望在站点上的每个页面上使用此功能,而不仅仅是在具有特定模板的页面上,您可以从functions.php将其添加到全局木材上下文中。更多信息,请访问:

函数my_custom_timber_context$context{ $context['style_css_version']=filemtimeget_template_目录。'/dist/css/style.min.css'; } 添加_过滤器'timber_context'、'my_custom_timber_context';
我更喜欢这种灵活的方法

functions.php

主题.细枝模板


我更喜欢这种灵活的方法

functions.php

主题.细枝模板


出于某种原因,我需要使用不正确的方法。我将filemtime添加到add_to_上下文函数add_to_上下文'style_version',filemtimeget_模板_目录中/dist/css/style.min.css';我工作。但我还有一个问题。当我添加?ver=xxxx文件时,我的css文件已缩小。为什么会这样?我怎么能同时拥有这两个,带有版本控制的小型css?嗯,我想不出任何与木材相关的原因。您可能应该在Wordpress开发类别中发布一个新问题。问题已解决。这是我的错误。我没有运行负责缩小的grunt任务,因为某些原因,我需要使用不正确的方法。我将filemtime添加到add_to_上下文函数add_to_上下文'style_version',filemtimeget_模板_目录中/dist/css/style.min.css';我工作。但我还有一个问题。当我添加?ver=xxxx文件时,我的css文件已缩小。为什么会这样?我怎么能同时拥有这两个,带有版本控制的小型css?嗯,我想不出任何与木材相关的原因。您可能应该在Wordpress开发类别中发布一个新问题。问题已解决。这是我的错误。我没有运行负责缩小的grunt任务
/**
 * versioned_theme_uri() Twig Function
 *
 * Create an auto-versioned URI for a relative theme file.
 *
 * @param \Twig\Environment $twig The Twig environment.
 * @return \Twig\Environment
 */
function kevinlearynet_extend_timber_twig($twig) {
  $twig_function = new Timber\Twig_Function( 'theme_uri_versioned', function ($theme_file) {
    $uri = get_theme_file_uri( $theme_file );
    $filepath = get_theme_file_path( $theme_file );
    $version = file_exists( $filepath ) ? filemtime( $filepath ) : 'FILE_NOT_FOUND';

    return "$uri?v=$version";
  } );

  $twig->addFunction( $twig_function );

  return $twig;
}
add_filter( 'timber/twig', 'kevinlearynet_extend_timber_twig' );
<link rel="stylesheet" href="{{ theme_uri_versioned('dist/app.min.js') }}" type="text/css" media="all" />