3

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?

Any suggestions are appreciated.

Thanks

2 Answers 2

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");
Sign up to request clarification or add additional context in comments.

Comments

1

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.