Wordpress在版本的子主题中将CSS排入队列

时间:2017-11-08 11:14:25

标签: wordpress wordpress-theming themes stylesheet

我本质上是想将?ver=1.0标签添加到我的样式表的末尾,我已将其包含在我的子主题的函数文件中(入队)。我有read the documentation in the codex但它似乎没有在源代码中应用,并且在我应用更新时它没有按预期更新/缓存中断。

样式表本身,但是,版本没有应用,所以我在这里有点松散。

这是我目前的代码:

add_action( 'wp_enqueue_scripts', 'kl_child_scripts',11 );
function kl_child_scripts() { 
    wp_deregister_style( 'kallyas-styles' );
    wp_enqueue_style( 'kallyas-styles', get_template_directory_uri().'/style.css', '' , ZN_FW_VERSION );
    wp_enqueue_style( 'kallyas-child', get_stylesheet_uri(), array('kallyas-styles') , filemtime(get_stylesheet_directory() . '/style.css'));

N.B。这是我尝试应用该版本的最后一行。 (kallyas孩子)。上一行(kallyas-styles)似乎确实有某种形式的版本ZN_FW_VERSION,但这不会产生预期的效果。

filemtime(get_stylesheet_directory() . '/style.css')旨在打破缓存并在每次保存文件时更新版本号。编辑:我现在确实认为这段代码确实有效,但主题(因为它是预构建)阻止它正确应用。如果我想到这一点,我会更新,希望能与主题开发人员交谈。

3 个答案:

答案 0 :(得分:1)

问题是您使用filemtime返回 int ,并且您应该有一个字符串。正如您可以阅读documentation

  

$版本

     

(string | bool | null)(可选)指定样式表的字符串   版本号,如果有,则作为查询添加到URL   用于缓存破坏目的的字符串。如果version设置为false,则a   版本号自动添加等于当前安装   WordPress版本。如果设置为null,则不添加任何版本。默认值:   假

所以你可以试试这个:

add_action( 'wp_enqueue_scripts', 'kl_child_scripts',11 );
function kl_child_scripts() { 
    wp_deregister_style( 'kallyas-styles' );
    wp_enqueue_style( 'kallyas-styles', get_template_directory_uri().'/style.css', '' , ZN_FW_VERSION );
    wp_enqueue_style( 'kallyas-child', get_stylesheet_uri(), array('kallyas-styles') , strval(filemtime(get_stylesheet_directory() . '/style.css')));

我添加了strval,它将int转换为字符串

答案 1 :(得分:-1)

使用以下代码

        define('ZN_FW_VERSION','1.0');
        add_action( 'wp_enqueue_scripts', 'kl_child_scripts',11 );
        function kl_child_scripts() { 
            wp_deregister_style( 'kallyas-styles' );
            wp_dequeue_style( 'kallyas-styles' );
            wp_enqueue_style( 'kallyas-styles', get_template_directory_uri().'/style.css', array() , ZN_FW_VERSION );
            wp_enqueue_style( 'kallyas-child', get_stylesheet_uri(), array('kallyas-styles') , ZN_FW_VERSION);
        }

答案 2 :(得分:-1)

在functions.php中

我添加了

 wp_enqueue_style( 'kallyas-child',
        get_stylesheet_directory_uri() . '/style.css',
        array( 'kallyas-styles' ),
        filemtime(__DIR__.'/style.css')
    );

在tmp.demos.rent-a-ninja.org

测试了它

使用divi主题