WordPress Bones Theme CSS and JS Versioning

I have a website that has been built using the bones wordpress theme. No matter what I do I can’t seem to get versioning to work on css and js using the wordpress enqueue functions.

Is there something in bones, maybe a filter that I can’t find that is stripping the versioning out?

Read More

Any suggestions are appreciated.

Thanks

Related posts

2 comments

  1. You’re probably lucky that it’s not there by default, most people try and remove it as it defaults to WordPress version number (why?).

    I found the best way to add it is to add the my_wp_default_styles function to your functions.php. Also a neat trick is to check the last modified date of the main css file and make that the version timestamp.

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

    There’s a filter into Bones theme, which remove every CSS/JS versionning.

    Just look into the bones-theme/library/bones.php file, you got a filter function

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

    You can either edit it or just remove the hook, and place your versionning inside wp_enqueue_script()/wp_enqueue_style() functions.

Comments are closed.