Skip to:
Content

BuddyPress.org

Ticket #3773: dynamic-file-versioning#3773.patch

File dynamic-file-versioning#3773.patch, 2.4 KB (added by hnla, 14 years ago)

Add function to dynamically apply file get last mod date/time as ver string

  • bp-themes/bp-default/functions.php

     
    179179 * @see http://codex.buddypress.org/releases/1-5-developer-and-designer-information/
    180180 * @since 1.5
    181181 */
     182
     183// Cache busting dynamically
     184function get_file_last_mod($filename) {
     185 $filename = dirname(__FILE__) . '/_inc/css/' . $filename;
     186        if( file_exists($filename) ){
     187                $version =  date ("M d Y H:i:s.", filemtime($filename));
     188        }else{
     189                // manual cache busting
     190                $version = 'V1.0';
     191        }
     192        return $version;
     193}
     194
    182195function bp_dtheme_enqueue_styles() {
    183196
    184197        // Bail if in admin
     
    189202        $version = '20110921';
    190203
    191204        // Register our main stylesheet
    192         wp_register_style( 'bp-default-main', get_template_directory_uri() . '/_inc/css/default.css', array(), $version );
     205        wp_register_style( 'bp-default-main', get_template_directory_uri() . '/_inc/css/default.css', array(), get_file_last_mod('default.css') );
    193206
    194207        // If the current theme is a child of bp-default, enqueue its stylesheet
    195208        if ( is_child_theme() && 'bp-default' == get_template() ) {
     
    201214
    202215        // Default CSS RTL
    203216        if ( is_rtl() )
    204                 wp_enqueue_style( 'bp-default-main-rtl',  get_template_directory_uri() . '/_inc/css/default-rtl.css', array( 'bp-default-main' ), $version );
     217                wp_enqueue_style( 'bp-default-main-rtl',  get_template_directory_uri() . '/_inc/css/default-rtl.css', array( 'bp-default-main' ), get_file_last_mod('default-rtl.css') );
    205218
    206219        // Responsive layout
    207220        if ( current_theme_supports( 'bp-default-responsive' ) ) {
    208                 wp_enqueue_style( 'bp-default-responsive', get_template_directory_uri() . '/_inc/css/responsive.css', array( 'bp-default-main' ), $version );
     221                wp_enqueue_style( 'bp-default-responsive', get_template_directory_uri() . '/_inc/css/responsive.css', array( 'bp-default-main' ), get_file_last_mod('responsive.css') );
    209222
    210223                if ( is_rtl() )
    211                         wp_enqueue_style( 'bp-default-responsive-rtl', get_template_directory_uri() . '/_inc/css/responsive-rtl.css', array( 'bp-default-responsive' ), $version );
     224                        wp_enqueue_style( 'bp-default-responsive-rtl', get_template_directory_uri() . '/_inc/css/responsive-rtl.css', array( 'bp-default-responsive' ), get_file_last_mod('responsive-rtl.css') );
    212225        }
    213226}
    214227add_action( 'wp_print_styles', 'bp_dtheme_enqueue_styles' );