5

I know that I can use the following function to remove the version from all .css and .js files:

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;
}

But I have some files, for instance style.css, in the case of which I want to add a version in the following way:

function css_versioning() {
    wp_enqueue_style( 'style',
        get_stylesheet_directory_uri() . '/style.css' ,
        false,
        filemtime( get_stylesheet_directory() . '/style.css' ),
        'all' );
}

But the previous function removes also this version. So the question is how to make the two work together?

6

You can check for the current handle before removing the version.

Here's an example (untested):

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;
}
1

Since this question was written, a lot has changed with WordPress. Here is a new way to prevent WordPress from displaying its version number:

// 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);

No editing required. Add to functions.php and done. Or add via simple custom plugin. The choice is yours! :)

Original article

  • isn't this answer directly copied from here? You should always give credit to original author, unless you wrote that article – Vishwa Mar 13 at 10:57
  • Added the link to the original article. No offense. I just wanted to help people solve the problem. I never took the credit for myself. – Amr Mar 14 at 18:19
  • I didn't implied you did, just showed the proper way to do it. that's all :) – Vishwa Mar 15 at 4:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.