排队/注册的样式表路径中的更改没有更新-为什么?

时间:2015-12-10 作者:jamesfacts

我试图修改WordPress主题,以便在特定样式表中附加版本号。这一切都是在本地开发机器上完成的,为了更好的衡量,也在临时服务器上进行了测试。遵循此处的说明:https://www.mojowill.com/developer/get-your-wordpress-css-changes-noticed-immediately/, 我补充道filemtime( get_template_directory() . \'/css/main.css\' ) 进入通过的参数wp_register_style

发件人:

wp_register_style(\'style\', get_template_directory_uri() . \'/css/style.css\', array(), \'\', \'all\');

wp_register_style(\'style\', get_template_directory_uri() . \'/css/style.css\', array(), \'filemtime( get_template_directory_uri() . \'/css/style.css\'\', \'all\');

没有肥皂。查看呈现页面的源代码时,我看到样式表链接没有附加任何版本。

我试着拉filemtime 功能超出$ver 插槽,并将其替换为1.0之类的静态值,但这也不起作用。最后,我跳过了$ver 参数,并更改了版本文件的路径,如下所示:

wp_register_style(\'style\', get_template_directory_uri() . \'/css/style.css?ver=1.0\', array(), \'\', \'all\');

还是没什么。为什么WordPress会拒绝承认这些更新?我想象不到任何服务器端缓存或插件会影响这个过程。我有没有遗漏一些非常简单的东西?

非常感谢

詹姆斯

编辑:这是完整的相关代码块。

function minikit_register_js_and_css() {
    if (!is_admin()) {  
        wp_register_style(\'style\', get_template_directory_uri() . \'/css/style.css?ver=1.1\', array(), \'\', \'all\');
        wp_enqueue_style(\'style\');
    }
}

3 个回复
最合适的回答,由SO网友:jamesfacts 整理而成

我终于确定了这个问题。我工作的主题使用了Minikit theme starter, 它具有剥离版本号的功能。

function minikit_remove_wp_ver_css_js($src) { if (strpos($src, \'ver=\')) $src = remove_query_arg(\'ver\', $src); return $src; }

当然,一旦我停止调用这个函数,就会返回版本号。

SO网友:jgraup

Make sure to wp_enqueue_style (\'unique-style-name\' ).

add_action( \'wp_enqueue_scripts\', \'register_plugin_styles\' );

function register_plugin_styles() {
    wp_register_style( \'unique-style-name\', plugins_url( \'my-plugin/css/plugin.css\' ) );
    wp_enqueue_style( \'unique-style-name\' );
}
SO网友:Felix

一些可能性:

请尝试除“样式”之外的其他标识符,使其对您的插件唯一,例如“myplugin\\u styles”wp_head() 拜访你header.php 文件可能样式表代码是在模板上硬编码的wp_register_style 插件声明?以后可能会在同一个文件或另一个文件上再次设置

相关推荐

在带有PHP的子主题中包含style.css

在里面https://codex.wordpress.org/Child_Themes 这是包含样式的最佳实践。css在子主题中,必须将下面的代码放入函数中。php的子主题,但将“父样式”替换为可以在函数中找到的父主题的参数。父主题的php。我在我的主题文件中找不到它,那里也没有多少代码。使用@import包含父主题样式表的方法不适用于我,放入文件的css不会在任何浏览器的站点上显示自己。function my_theme_enqueue_styles() { $parent_s