如何从一些.css/.js文件中删除WordPress版本

时间:2016-07-29 作者:Mikhail Morfikov

我知道我可以使用以下函数从所有.css.js 文件:

add_filter( \'style_loader_src\', \'sdt_remove_ver_css_js\', 9999 );
add_filter( \'script_loader_src\', \'sdt_remove_ver_css_js\', 9999 );
function sdt_remove_ver_css_js( $src ) {
    if ( strpos( $src, \'ver=\' ) )
        $src = remove_query_arg( \'ver\', $src );
    return $src;
}
但我有一些文件,比如style.css, 如果我想通过以下方式添加版本:

function css_versioning() {
    wp_enqueue_style( \'style\',
        get_stylesheet_directory_uri() . \'/style.css\' ,
        false,
        filemtime( get_stylesheet_directory() . \'/style.css\' ),
        \'all\' );
}
但前面的函数也会删除此版本。因此,问题是如何使这两者协同工作?

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

在删除版本之前,可以检查当前句柄。

以下是一个示例(未经测试):

add_filter( \'style_loader_src\',  \'sdt_remove_ver_css_js\', 9999, 2 );
add_filter( \'script_loader_src\', \'sdt_remove_ver_css_js\', 9999, 2 );

function sdt_remove_ver_css_js( $src, $handle ) 
{
    $handles_with_version = [ \'style\' ]; // <-- Adjust to your needs!

    if ( strpos( $src, \'ver=\' ) && ! in_array( $handle, $handles_with_version, true ) )
        $src = remove_query_arg( \'ver\', $src );

    return $src;
}

SO网友:Amr

自从这个问题被写出来后,WordPress发生了很大的变化。以下是阻止WordPress显示其版本号的新方法:

// remove version from head
remove_action(\'wp_head\', \'wp_generator\');

// remove version from rss
add_filter(\'the_generator\', \'__return_empty_string\');

// remove version from scripts and styles
function remove_version_scripts_styles($src) {
    if (strpos($src, \'ver=\')) {
        $src = remove_query_arg(\'ver\', $src);
    }
    return $src;
}
add_filter(\'style_loader_src\', \'remove_version_scripts_styles\', 9999);
add_filter(\'script_loader_src\', \'remove_version_scripts_styles\', 9999);
无需编辑。添加到函数。php并完成。或者通过简单的自定义插件添加。这是你的选择!:)

Original article

SO网友:Haveigonemental

以特定文件为目标

// remove version from scripts and styles
function remove_version_scripts_styles($src) {
    if (strpos($src, \'yourfile.js\')) {
        $src = remove_query_arg(\'ver\', $src);
    }
    return $src;
}
add_filter(\'script_loader_src\', \'remove_version_scripts_styles\', 9999);

相关推荐