Wordpress Bones 主题 CSS 和 JS 版本控制

Wordpress Bones Theme CSS and JS Versioning

我有一个使用 bones wordpress 主题构建的网站。无论我做什么,我似乎都无法使用 wordpress 排队函数在 css 和 js 上进行版本控制。

有什么东西在骨头里吗,也许是我找不到的过滤器正在剥离版本控制?

如有任何建议,我们将不胜感激。

谢谢

您可能很幸运,默认情况下它不存在,大多数人尝试将其删除,因为它默认为 Wordpress 版本号(为什么?)。

我发现添加它的最佳方法是将 my_wp_default_styles 函数添加到您的 functions.php。还有一个巧妙的技巧是检查主 css 文件的最后修改日期并将其作为版本时间戳。

function my_wp_default_styles($styles) {
  $styles->default_version = filemtime(get_template_directory() . '/style.css');
}
add_action("wp_default_styles", "my_wp_default_styles");

找到了!

Bones 主题中有一个过滤器,它删除每个 CSS/JS 版本。

看看bones-theme/library/bones.php文件,你有一个过滤函数

// ~L.48
add_filter( 'style_loader_src', 'bones_remove_wp_ver_css_js', 9999 );

/** Some code **/
// ~L.89
function bones_remove_wp_ver_css_js( $src ) {
  if ( strpos( $src, 'ver=' ) )
        $src = remove_query_arg( 'ver', $src );
  return $src;
}

您可以对其进行编辑或删除挂钩,然后将版本控制置于 wp_enqueue_script()/wp_enqueue_style() 函数中。