Merge pull request #12521 from woocommerce/plugins-url-assets-12477
Register scripts using plugins_url
This commit is contained in:
commit
3f1368153a
|
@ -1,4 +1,4 @@
|
|||
/*global wc_single_product_params, flexslider_options, PhotoSwipe, PhotoSwipeUI_Default */
|
||||
/*global wc_single_product_params, PhotoSwipe, PhotoSwipeUI_Default */
|
||||
jQuery( function( $ ) {
|
||||
|
||||
// wc_single_product_params is required to continue, ensure the object exists
|
||||
|
@ -118,12 +118,12 @@ jQuery( function( $ ) {
|
|||
init_flexslider: function() {
|
||||
$( '.woocommerce-product-gallery' ).flexslider({
|
||||
selector: '.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image',
|
||||
animation: flexslider_options.animation,
|
||||
smoothHeight: flexslider_options.smoothHeight,
|
||||
directionNav: flexslider_options.directionNav,
|
||||
controlNav: flexslider_options.controlNav,
|
||||
slideshow: flexslider_options.slideshow,
|
||||
animationSpeed: flexslider_options.animationSpeed,
|
||||
animation: wc_single_product_params.flexslider.animation,
|
||||
smoothHeight: wc_single_product_params.flexslider.smoothHeight,
|
||||
directionNav: wc_single_product_params.flexslider.directionNav,
|
||||
controlNav: wc_single_product_params.flexslider.controlNav,
|
||||
slideshow: wc_single_product_params.flexslider.slideshow,
|
||||
animationSpeed: wc_single_product_params.flexslider.animationSpeed,
|
||||
animationLoop: false // Breaks photoswipe pagination if true. It's hard disabled because we don't need it anyway (no next/prev enabled in flex).
|
||||
});
|
||||
},
|
||||
|
|
|
@ -1 +1 @@
|
|||
jQuery(function(a){if("undefined"==typeof wc_single_product_params)return!1;a("body").on("init",".wc-tabs-wrapper, .woocommerce-tabs",function(){a(".wc-tab, .woocommerce-tabs .panel:not(.panel .panel)").hide();var b=window.location.hash,c=window.location.href,d=a(this).find(".wc-tabs, ul.tabs").first();b.toLowerCase().indexOf("comment-")>=0||"#reviews"===b||"#tab-reviews"===b?d.find("li.reviews_tab a").click():c.indexOf("comment-page-")>0||c.indexOf("cpage=")>0?d.find("li.reviews_tab a").click():d.find("li:first a").click()}).on("click",".wc-tabs li a, ul.tabs li a",function(b){b.preventDefault();var c=a(this),d=c.closest(".wc-tabs-wrapper, .woocommerce-tabs"),e=d.find(".wc-tabs, ul.tabs");e.find("li").removeClass("active"),d.find(".wc-tab, .panel:not(.panel .panel)").hide(),c.closest("li").addClass("active"),d.find(c.attr("href")).show()}).on("click","a.woocommerce-review-link",function(){return a(".reviews_tab a").click(),!0}).on("init","#rating",function(){a("#rating").hide().before('<p class="stars"><span><a class="star-1" href="#">1</a><a class="star-2" href="#">2</a><a class="star-3" href="#">3</a><a class="star-4" href="#">4</a><a class="star-5" href="#">5</a></span></p>')}).on("click","#respond p.stars a",function(){var b=a(this),c=a(this).closest("#respond").find("#rating"),d=a(this).closest(".stars");return c.val(b.text()),b.siblings("a").removeClass("active"),b.addClass("active"),d.addClass("selected"),!1}).on("click","#respond #submit",function(){var b=a(this).closest("#respond").find("#rating"),c=b.val();if(b.length>0&&!c&&"yes"===wc_single_product_params.review_rating_required)return window.alert(wc_single_product_params.i18n_required_rating_text),!1}).on("woocommerce_init_gallery",function(){a.isFunction(a.fn.zoom)&&b.init_zoom()}),a(".wc-tabs-wrapper, .woocommerce-tabs, #rating").trigger("init");var b={init:function(){a.isFunction(a.fn.flexslider)&&this.init_flexslider(),a.isFunction(a.fn.zoom)&&this.init_zoom(),"undefined"!=typeof PhotoSwipe&&(this.init_photoswipe(),a(document).on("click",".woocommerce-product-gallery__trigger",this.trigger_photoswipe))},is_touch_device:function(){return"ontouchstart"in window||navigator.maxTouchPoints},init_flexslider:function(){a(".woocommerce-product-gallery").flexslider({selector:".woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image",animation:flexslider_options.animation,smoothHeight:flexslider_options.smoothHeight,directionNav:flexslider_options.directionNav,controlNav:flexslider_options.controlNav,slideshow:flexslider_options.slideshow,animationSpeed:flexslider_options.animationSpeed,animationLoop:!1})},init_zoom:function(){a(".woocommerce-product-gallery__image img").attr("width")>a(".woocommerce-product-gallery").width()&&(a(".woocommerce-product-gallery__image").trigger("zoom.destroy"),a(".woocommerce-product-gallery__image").zoom({touch:!1}))},get_gallery_items:function(){var b=a(".woocommerce-product-gallery__wrapper").children(),c=[],d=b.filter(".flex-active-slide").index();return b.length>0&&b.each(function(b,d){var e=a(d).find("img"),f=e.attr("data-large-image"),g=e.attr("data-large-image-width"),h=e.attr("data-large-image-height"),i={src:f,w:g,h:h,title:e.attr("title")};c.push(i)}),{index:d,items:c}},init_photoswipe:function(){a(".woocommerce-product-gallery").prepend('<a href="#" class="woocommerce-product-gallery__trigger">🔍</a>')},trigger_photoswipe:function(c){c.preventDefault();var d=a(".pswp")[0],e=b.get_gallery_items(),f={index:e.index,shareEl:!1,closeOnScroll:!1,history:!1,hideAnimationDuration:0,showAnimationDuration:0},g=new PhotoSwipe(d,PhotoSwipeUI_Default,e.items,f);g.init()}};b.init()});
|
||||
jQuery(function(a){if("undefined"==typeof wc_single_product_params)return!1;a("body").on("init",".wc-tabs-wrapper, .woocommerce-tabs",function(){a(".wc-tab, .woocommerce-tabs .panel:not(.panel .panel)").hide();var b=window.location.hash,c=window.location.href,d=a(this).find(".wc-tabs, ul.tabs").first();b.toLowerCase().indexOf("comment-")>=0||"#reviews"===b||"#tab-reviews"===b?d.find("li.reviews_tab a").click():c.indexOf("comment-page-")>0||c.indexOf("cpage=")>0?d.find("li.reviews_tab a").click():d.find("li:first a").click()}).on("click",".wc-tabs li a, ul.tabs li a",function(b){b.preventDefault();var c=a(this),d=c.closest(".wc-tabs-wrapper, .woocommerce-tabs"),e=d.find(".wc-tabs, ul.tabs");e.find("li").removeClass("active"),d.find(".wc-tab, .panel:not(.panel .panel)").hide(),c.closest("li").addClass("active"),d.find(c.attr("href")).show()}).on("click","a.woocommerce-review-link",function(){return a(".reviews_tab a").click(),!0}).on("init","#rating",function(){a("#rating").hide().before('<p class="stars"><span><a class="star-1" href="#">1</a><a class="star-2" href="#">2</a><a class="star-3" href="#">3</a><a class="star-4" href="#">4</a><a class="star-5" href="#">5</a></span></p>')}).on("click","#respond p.stars a",function(){var b=a(this),c=a(this).closest("#respond").find("#rating"),d=a(this).closest(".stars");return c.val(b.text()),b.siblings("a").removeClass("active"),b.addClass("active"),d.addClass("selected"),!1}).on("click","#respond #submit",function(){var b=a(this).closest("#respond").find("#rating"),c=b.val();if(b.length>0&&!c&&"yes"===wc_single_product_params.review_rating_required)return window.alert(wc_single_product_params.i18n_required_rating_text),!1}).on("woocommerce_init_gallery",function(){a.isFunction(a.fn.zoom)&&b.init_zoom()}),a(".wc-tabs-wrapper, .woocommerce-tabs, #rating").trigger("init");var b={init:function(){a.isFunction(a.fn.flexslider)&&this.init_flexslider(),a.isFunction(a.fn.zoom)&&this.init_zoom(),"undefined"!=typeof PhotoSwipe&&(this.init_photoswipe(),a(document).on("click",".woocommerce-product-gallery__trigger",this.trigger_photoswipe))},is_touch_device:function(){return"ontouchstart"in window||navigator.maxTouchPoints},init_flexslider:function(){a(".woocommerce-product-gallery").flexslider({selector:".woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image",animation:wc_single_product_params.flexslider.animation,smoothHeight:wc_single_product_params.flexslider.smoothHeight,directionNav:wc_single_product_params.flexslider.directionNav,controlNav:wc_single_product_params.flexslider.controlNav,slideshow:wc_single_product_params.flexslider.slideshow,animationSpeed:wc_single_product_params.flexslider.animationSpeed,animationLoop:!1})},init_zoom:function(){a(".woocommerce-product-gallery__image img").attr("width")>a(".woocommerce-product-gallery").width()&&(a(".woocommerce-product-gallery__image").trigger("zoom.destroy"),a(".woocommerce-product-gallery__image").zoom({touch:!1}))},get_gallery_items:function(){var b=a(".woocommerce-product-gallery__wrapper").children(),c=[],d=b.filter(".flex-active-slide").index();return b.length>0&&b.each(function(b,d){var e=a(d).find("img"),f=e.attr("data-large-image"),g=e.attr("data-large-image-width"),h=e.attr("data-large-image-height"),i={src:f,w:g,h:h,title:e.attr("title")};c.push(i)}),{index:d,items:c}},init_photoswipe:function(){a(".woocommerce-product-gallery").prepend('<a href="#" class="woocommerce-product-gallery__trigger">🔍</a>')},trigger_photoswipe:function(c){c.preventDefault();var d=a(".pswp")[0],e=b.get_gallery_items(),f={index:e.index,shareEl:!1,closeOnScroll:!1,history:!1,hideAnimationDuration:0,showAnimationDuration:0},g=new PhotoSwipe(d,PhotoSwipeUI_Default,e.items,f);g.init()}};b.init()});
|
|
@ -53,19 +53,19 @@ class WC_Frontend_Scripts {
|
|||
public static function get_styles() {
|
||||
return apply_filters( 'woocommerce_enqueue_styles', array(
|
||||
'woocommerce-layout' => array(
|
||||
'src' => str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/woocommerce-layout.css',
|
||||
'src' => self::get_asset_url( 'assets/css/woocommerce-layout.css' ),
|
||||
'deps' => '',
|
||||
'version' => WC_VERSION,
|
||||
'media' => 'all',
|
||||
),
|
||||
'woocommerce-smallscreen' => array(
|
||||
'src' => str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/woocommerce-smallscreen.css',
|
||||
'src' => self::get_asset_url( 'assets/css/woocommerce-smallscreen.css' ),
|
||||
'deps' => 'woocommerce-layout',
|
||||
'version' => WC_VERSION,
|
||||
'media' => 'only screen and (max-width: ' . apply_filters( 'woocommerce_style_smallscreen_breakpoint', $breakpoint = '768px' ) . ')',
|
||||
),
|
||||
'woocommerce-general' => array(
|
||||
'src' => str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/woocommerce.css',
|
||||
'src' => self::get_asset_url( 'assets/css/woocommerce.css' ),
|
||||
'deps' => '',
|
||||
'version' => WC_VERSION,
|
||||
'media' => 'all',
|
||||
|
@ -73,6 +73,14 @@ class WC_Frontend_Scripts {
|
|||
) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Return protocol relative asset URL.
|
||||
* @param string $path
|
||||
*/
|
||||
private static function get_asset_url( $path ) {
|
||||
return str_replace( array( 'http:', 'https:' ), '', plugins_url( $path, WC_PLUGIN_FILE ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a script for use.
|
||||
*
|
||||
|
@ -141,6 +149,174 @@ class WC_Frontend_Scripts {
|
|||
wp_enqueue_style( $handle );
|
||||
}
|
||||
|
||||
/**
|
||||
* Register all WC scripts.
|
||||
*/
|
||||
private static function register_scripts() {
|
||||
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
||||
$register_scripts = array(
|
||||
'flexslider' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/flexslider/jquery.flexslider' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => '2.6.1',
|
||||
),
|
||||
'js-cookie' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/js-cookie/js.cookie' . $suffix . '.js' ),
|
||||
'deps' => array(),
|
||||
'version' => '2.1.3',
|
||||
),
|
||||
'jquery-blockui' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/jquery-blockui/jquery.blockUI' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => '2.70',
|
||||
),
|
||||
'jquery-cookie' => array( // deprecated.
|
||||
'src' => self::get_asset_url( 'assets/js/jquery-cookie/jquery.cookie' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => '1.4.1',
|
||||
),
|
||||
'jquery-payment' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/jquery-payment/jquery.payment' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => '1.4.1',
|
||||
),
|
||||
'photoswipe' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/photoswipe/photoswipe' . $suffix . '.js' ),
|
||||
'deps' => array(),
|
||||
'version' => '4.1.1',
|
||||
),
|
||||
'photoswipe-ui-default' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/photoswipe/photoswipe-ui-default' . $suffix . '.js' ),
|
||||
'deps' => array( 'photoswipe' ),
|
||||
'version' => '4.1.1',
|
||||
),
|
||||
'prettyPhoto' => array( // deprecated.
|
||||
'src' => self::get_asset_url( 'assets/js/prettyPhoto/jquery.prettyPhoto' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => '3.1.6',
|
||||
),
|
||||
'prettyPhoto-init' => array( // deprecated.
|
||||
'src' => self::get_asset_url( 'assets/js/prettyPhoto/jquery.prettyPhoto.init' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'prettyPhoto' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'select2' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/select2/select2' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => '3.5.4',
|
||||
),
|
||||
'wc-address-i18n' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/address-i18n' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-add-payment-method' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/add-payment-method' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'woocommerce' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-cart' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/cart' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'wc-country-select', 'wc-address-i18n' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-cart-fragments' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/cart-fragments' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'js-cookie' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-checkout' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/checkout' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'woocommerce', 'wc-country-select', 'wc-address-i18n' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-country-select' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/country-select' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-credit-card-form' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/credit-card-form' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'jquery-payment' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-add-to-cart' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/add-to-cart' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-add-to-cart-variation' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/add-to-cart-variation' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'wp-util' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-geolocation' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/geolocation' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-lost-password' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/lost-password' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'woocommerce' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-password-strength-meter' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/password-strength-meter' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'password-strength-meter' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'wc-single-product' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/single-product' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'woocommerce' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/frontend/woocommerce' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery', 'jquery-blockui', 'js-cookie' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'zoom' => array(
|
||||
'src' => self::get_asset_url( 'assets/js/zoom/jquery.zoom' . $suffix . '.js' ),
|
||||
'deps' => array( 'jquery' ),
|
||||
'version' => '1.7.15',
|
||||
),
|
||||
);
|
||||
foreach ( $register_scripts as $name => $props ) {
|
||||
self::register_script( $name, $props['src'], $props['deps'], $props['version'] );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Register all WC sty;es.
|
||||
*/
|
||||
private static function register_styles() {
|
||||
$register_styles = array(
|
||||
'photoswipe' => array(
|
||||
'src' => self::get_asset_url( 'assets/css/photoswipe/photoswipe.css' ),
|
||||
'deps' => array(),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'photoswipe-default-skin' => array(
|
||||
'src' => self::get_asset_url( 'assets/css/photoswipe/default-skin/default-skin.css' ),
|
||||
'deps' => array( 'photoswipe' ),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'select2' => array(
|
||||
'src' => self::get_asset_url( 'assets/css/select2.css' ),
|
||||
'deps' => array(),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
'woocommerce_prettyPhoto_css' => array( // deprecated.
|
||||
'src' => self::get_asset_url( 'assets/css/prettyPhoto.css' ),
|
||||
'deps' => array(),
|
||||
'version' => WC_VERSION,
|
||||
),
|
||||
);
|
||||
foreach ( $register_styles as $name => $props ) {
|
||||
self::register_style( $name, $props['src'], $props['deps'], $props['version'] );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Register/queue frontend scripts.
|
||||
*/
|
||||
|
@ -151,82 +327,51 @@ class WC_Frontend_Scripts {
|
|||
return;
|
||||
}
|
||||
|
||||
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
||||
$ajax_cart_en = 'yes' === get_option( 'woocommerce_enable_ajax_add_to_cart' );
|
||||
$assets_path = str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/';
|
||||
$frontend_script_path = $assets_path . 'js/frontend/';
|
||||
self::register_scripts();
|
||||
self::register_styles();
|
||||
|
||||
// Register any scripts for later use, or used as dependencies
|
||||
self::register_script( 'select2', $assets_path . 'js/select2/select2' . $suffix . '.js', array( 'jquery' ), '3.5.4' );
|
||||
self::register_script( 'jquery-blockui', $assets_path . 'js/jquery-blockui/jquery.blockUI' . $suffix . '.js', array( 'jquery' ), '2.70' );
|
||||
self::register_script( 'jquery-payment', $assets_path . 'js/jquery-payment/jquery.payment' . $suffix . '.js', array( 'jquery' ), '1.4.1' );
|
||||
self::register_script( 'js-cookie', $assets_path . 'js/js-cookie/js.cookie' . $suffix . '.js', array(), '2.1.3' );
|
||||
self::register_script( 'wc-credit-card-form', $frontend_script_path . 'credit-card-form' . $suffix . '.js', array( 'jquery', 'jquery-payment' ) );
|
||||
self::register_script( 'wc-add-to-cart-variation', $frontend_script_path . 'add-to-cart-variation' . $suffix . '.js', array( 'jquery', 'wp-util' ) );
|
||||
self::register_script( 'wc-single-product', $frontend_script_path . 'single-product' . $suffix . '.js', array( 'jquery' ) );
|
||||
self::register_script( 'wc-country-select', $frontend_script_path . 'country-select' . $suffix . '.js', array( 'jquery' ) );
|
||||
self::register_script( 'wc-address-i18n', $frontend_script_path . 'address-i18n' . $suffix . '.js', array( 'jquery' ) );
|
||||
self::register_script( 'wc-password-strength-meter', $frontend_script_path . 'password-strength-meter' . $suffix . '.js', array( 'jquery', 'password-strength-meter' ) );
|
||||
|
||||
// Register frontend scripts conditionally
|
||||
if ( $ajax_cart_en ) {
|
||||
self::enqueue_script( 'wc-add-to-cart', $frontend_script_path . 'add-to-cart' . $suffix . '.js' );
|
||||
if ( 'yes' === get_option( 'woocommerce_enable_ajax_add_to_cart' ) ) {
|
||||
self::enqueue_script( 'wc-add-to-cart' );
|
||||
}
|
||||
if ( is_cart() ) {
|
||||
self::enqueue_script( 'wc-cart', $frontend_script_path . 'cart' . $suffix . '.js', array( 'jquery', 'wc-country-select', 'wc-address-i18n' ) );
|
||||
self::enqueue_script( 'wc-cart' );
|
||||
}
|
||||
if ( is_checkout() || is_account_page() ) {
|
||||
self::enqueue_script( 'select2' );
|
||||
self::enqueue_style( 'select2', $assets_path . 'css/select2.css' );
|
||||
self::enqueue_style( 'select2' );
|
||||
|
||||
// Password strength meter.
|
||||
// Load in checkout, account login and edit account page.
|
||||
// Password strength meter. Load in checkout, account login and edit account page.
|
||||
if ( ( 'no' === get_option( 'woocommerce_registration_generate_password' ) && ! is_user_logged_in() ) || is_edit_account_page() || is_lost_password_page() ) {
|
||||
self::enqueue_script( 'wc-password-strength-meter' );
|
||||
}
|
||||
}
|
||||
if ( is_checkout() ) {
|
||||
self::enqueue_script( 'wc-checkout', $frontend_script_path . 'checkout' . $suffix . '.js', array( 'jquery', 'woocommerce', 'wc-country-select', 'wc-address-i18n' ) );
|
||||
self::enqueue_script( 'wc-checkout' );
|
||||
}
|
||||
if ( is_add_payment_method_page() ) {
|
||||
self::enqueue_script( 'wc-add-payment-method', $frontend_script_path . 'add-payment-method' . $suffix . '.js', array( 'jquery', 'woocommerce' ) );
|
||||
self::enqueue_script( 'wc-add-payment-method' );
|
||||
}
|
||||
if ( is_lost_password_page() ) {
|
||||
self::enqueue_script( 'wc-lost-password', $frontend_script_path . 'lost-password' . $suffix . '.js', array( 'jquery', 'woocommerce' ) );
|
||||
self::enqueue_script( 'wc-lost-password' );
|
||||
}
|
||||
|
||||
if ( is_product() || ( ! empty( $post->post_content ) && strstr( $post->post_content, '[product_page' ) ) ) {
|
||||
self::enqueue_script( 'flexslider', $assets_path . 'js/flexslider/jquery.flexslider' . $suffix . '.js', array( 'jquery' ), '2.7.0', true );
|
||||
self::enqueue_script( 'photoswipe', $assets_path . 'js/photoswipe/photoswipe' . $suffix . '.js', '4.1.1', true );
|
||||
self::enqueue_script( 'photoswipe-ui-default', $assets_path . 'js/photoswipe/photoswipe-ui-default' . $suffix . '.js', array( 'photoswipe' ), '4.1.1', true );
|
||||
self::enqueue_style( 'photoswipe', $assets_path . 'css/photoswipe/photoswipe.css' );
|
||||
self::enqueue_style( 'photoswipe-default-skin', $assets_path . 'css/photoswipe/default-skin/default-skin.css' );
|
||||
self::enqueue_script( 'zoom', $assets_path . 'js/zoom/jquery.zoom' . $suffix . '.js', array( 'jquery' ), '1.7.15', true );
|
||||
self::enqueue_script( 'flexslider' );
|
||||
self::enqueue_script( 'photoswipe-ui-default' );
|
||||
self::enqueue_style( 'photoswipe-default-skin' );
|
||||
self::enqueue_script( 'zoom' );
|
||||
self::enqueue_script( 'wc-single-product' );
|
||||
|
||||
wp_localize_script( 'wc-single-product', 'flexslider_options', apply_filters( 'woocommerce_single_product_carousel_options', array(
|
||||
'rtl' => is_rtl(),
|
||||
'animation' => 'slide',
|
||||
'smoothHeight' => true,
|
||||
'directionNav' => false,
|
||||
'controlNav' => 'thumbnails',
|
||||
'slideshow' => false,
|
||||
'animationSpeed' => 500,
|
||||
) ) );
|
||||
}
|
||||
|
||||
if ( 'geolocation_ajax' === get_option( 'woocommerce_default_customer_address' ) ) {
|
||||
// Exclude common bots from geolocation by user agent.
|
||||
$ua = wc_get_user_agent();
|
||||
$ua = wc_get_user_agent(); // Exclude common bots from geolocation by user agent.
|
||||
|
||||
if ( ! strstr( $ua, 'bot' ) && ! strstr( $ua, 'spider' ) && ! strstr( $ua, 'crawl' ) ) {
|
||||
self::enqueue_script( 'wc-geolocation', $frontend_script_path . 'geolocation' . $suffix . '.js', array( 'jquery' ) );
|
||||
self::enqueue_script( 'wc-geolocation' );
|
||||
}
|
||||
}
|
||||
|
||||
// Global frontend scripts
|
||||
self::enqueue_script( 'woocommerce', $frontend_script_path . 'woocommerce' . $suffix . '.js', array( 'jquery', 'jquery-blockui', 'js-cookie' ) );
|
||||
self::enqueue_script( 'wc-cart-fragments', $frontend_script_path . 'cart-fragments' . $suffix . '.js', array( 'jquery', 'js-cookie' ) );
|
||||
self::enqueue_script( 'woocommerce' );
|
||||
self::enqueue_script( 'wc-cart-fragments' );
|
||||
|
||||
// CSS Styles
|
||||
if ( $enqueue_styles = self::get_styles() ) {
|
||||
|
@ -234,12 +379,6 @@ class WC_Frontend_Scripts {
|
|||
self::enqueue_style( $handle, $args['src'], $args['deps'], $args['version'], $args['media'] );
|
||||
}
|
||||
}
|
||||
|
||||
// These are deprecated scripts only included for BW compatibility. @todo remove in future version.
|
||||
self::register_script( 'jquery-cookie', $assets_path . 'js/jquery-cookie/jquery.cookie' . $suffix . '.js', array( 'jquery' ), '1.4.1' );
|
||||
self::register_script( 'prettyPhoto', $assets_path . 'js/prettyPhoto/jquery.prettyPhoto' . $suffix . '.js', array( 'jquery' ), '3.1.6', true );
|
||||
self::register_script( 'prettyPhoto-init', $assets_path . 'js/prettyPhoto/jquery.prettyPhoto.init' . $suffix . '.js', array( 'jquery', 'prettyPhoto' ) );
|
||||
self::register_style( 'woocommerce_prettyPhoto_css', $assets_path . 'css/prettyPhoto.css' );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -277,13 +416,22 @@ class WC_Frontend_Scripts {
|
|||
'wc_ajax_url' => WC_AJAX::get_endpoint( "%%endpoint%%" ),
|
||||
'home_url' => home_url(),
|
||||
'is_available' => ! ( is_cart() || is_account_page() || is_checkout() || is_customize_preview() ) ? '1' : '0',
|
||||
'hash' => isset( $_GET['v'] ) ? wc_clean( $_GET['v'] ) : '',
|
||||
'hash' => isset( $_GET['version'] ) ? wc_clean( $_GET['version'] ) : '',
|
||||
);
|
||||
break;
|
||||
case 'wc-single-product' :
|
||||
return array(
|
||||
'i18n_required_rating_text' => esc_attr__( 'Please select a rating', 'woocommerce' ),
|
||||
'review_rating_required' => get_option( 'woocommerce_review_rating_required' ),
|
||||
'flexslider' => apply_filters( 'woocommerce_single_product_carousel_options', array(
|
||||
'rtl' => is_rtl(),
|
||||
'animation' => 'slide',
|
||||
'smoothHeight' => true,
|
||||
'directionNav' => false,
|
||||
'controlNav' => 'thumbnails',
|
||||
'slideshow' => false,
|
||||
'animationSpeed' => 500,
|
||||
) ),
|
||||
);
|
||||
break;
|
||||
case 'wc-checkout' :
|
||||
|
|
Loading…
Reference in New Issue