Преглед изворни кода

Merge pull request #184 from Automattic/ip-2-jetpack-infinite-scroll-wc-fix

Independent Publisher 2: Fixes Jetpack Infinite Scroll on WooCommerce pages
Daniel Dudzic пре 7 година
родитељ
комит
e5fce462d1

+ 3 - 3
independent-publisher-2/inc/jetpack.php

@@ -58,7 +58,7 @@ add_action( 'after_setup_theme', 'independent_publisher_2_jetpack_setup' );
  */
 function independent_publisher_2_infinite_scroll_render() {
 
-	if ( class_exists( 'WooCommerce' ) && ( is_shop() || is_product_taxonomy() || is_product_category() || is_product_tag() ) ) {
+	if ( class_exists( 'WooCommerce' ) && ( ip_woocommerce_is_shop_page() || is_product_taxonomy() || is_product_category() || is_product_tag() ) ) {
 		ip_woocommerce_product_columns_wrapper();
 		woocommerce_product_loop_start();
 	}
@@ -67,14 +67,14 @@ function independent_publisher_2_infinite_scroll_render() {
 		the_post();
 		if ( is_search() ) :
 			get_template_part( 'template-parts/content', 'search' );
-		elseif ( class_exists( 'WooCommerce' ) && ( is_shop() || is_product_taxonomy() || is_product_category() || is_product_tag() ) ) :
+		elseif ( class_exists( 'WooCommerce' ) && ( ip_woocommerce_is_shop_page() || is_product_taxonomy() || is_product_category() || is_product_tag() ) ) :
 			wc_get_template_part( 'content', 'product' );
 		else :
 			get_template_part( 'template-parts/content', get_post_format() );
 		endif;
 	}
 
-	if ( class_exists( 'WooCommerce' ) && ( is_shop() || is_product_taxonomy() || is_product_category() || is_product_tag() ) ) {
+	if ( class_exists( 'WooCommerce' ) && ( ip_woocommerce_is_shop_page() || is_product_taxonomy() || is_product_category() || is_product_tag() ) ) {
 		woocommerce_product_loop_end();
 		ip_woocommerce_product_columns_wrapper_close();
 	}

+ 0 - 29
independent-publisher-2/inc/woocommerce.php

@@ -323,35 +323,6 @@ function ip_woocommerce_is_shop_page() {
 	return $is_shop_page;
 }
 
-/**
- * Jetpack infinite scroll duplicates posts where orderby is anything other than modified or date
- * This filter offsets the products returned by however many are displayed per page
- *
- * @link https://github.com/Automattic/jetpack/issues/1135
- * @param  array $args infinite scroll args.
- * @return array       infinite scroll args.
- */
-function ip_woocommerce_jetpack_duplicate_products( $args ) {
-	if ( ( isset( $args['post_type'] ) && 'product' === $args['post_type'] ) || ( isset( $args['taxonomy'] ) && 'product_cat' === $args['taxonomy'] ) ) {
-		$args['offset'] = $args['posts_per_page'] * $args['paged'];
-	}
- 	return $args;
-}
-add_filter( 'infinite_scroll_query_args', 'ip_woocommerce_jetpack_duplicate_products', 100 );
-/**
- * Override number of products per page in Jetpack infinite scroll.
- *
- * @param  array $args infinite scroll args.
- * @return array       infinite scroll args.
- */
-function ip_woocommerce_jetpack_products_per_page( $args ) {
-	if ( is_array( $args ) && ( ip_woocommerce_is_shop_page() || is_product_taxonomy() || is_product_category() || is_product_tag() ) ) {
-		 $args['posts_per_page'] = ip_woocommerce_products_per_page();
-	}
-	return $args;
-}
-add_filter( 'infinite_scroll_settings', 'ip_woocommerce_jetpack_products_per_page' );
-
 /**
  * ip_woocommerce_image_dimensions Defines WC image sizes
  * @return void

+ 1 - 1
independent-publisher-2/style.css

@@ -1,7 +1,7 @@
 /*
 Theme Name: Independent Publisher 2
 Theme URI: http://wordpress.com/themes/independent-publisher-2
-Version: 2.1.3-wpcom
+Version: 2.1.4-wpcom
 Description: Independent Publisher 2 is a clean and polished theme with a light color scheme, bold typography, and full-width images.
 Author: Raam Dev
 Author URI: http://raamdev.com/

+ 41 - 5
independent-publisher-2/woocommerce-rtl.css

@@ -436,6 +436,8 @@ ul.products {
   box-shadow: none;
   background: url("../../plugins/woocommerce/assets/css/photoswipe/default-skin/default-skin.png") 100% 0 no-repeat;
   background-size: 264px 88px; }
+  .single-product div.pswp div.pswp__scroll-wrap div.pswp__ui div.pswp__top-bar button.pswp__button:hover {
+    opacity: 1; }
   .single-product div.pswp div.pswp__scroll-wrap div.pswp__ui div.pswp__top-bar button.pswp__button.pswp__button--close {
     background-position: 100% -44px; }
   .single-product div.pswp div.pswp__scroll-wrap div.pswp__ui div.pswp__top-bar button.pswp__button.pswp__button--zoom {
@@ -826,6 +828,34 @@ ul#shipping_method {
     margin: 0;
     padding: 0; }
 
+  .site-header-cart dl.variation,
+  table.shop_table_responsive dl.variation {
+    font-size: .875em;
+    margin: .875em 0 0; }
+
+  .site-header-cart .widget_shopping_cart span.quantity,
+  table.shop_table_responsive .quantity {
+    display: block;
+    margin: .875em 0; }
+
+  .site-header-cart dl.variation dd,
+  table.shop_table_responsive dl.variation dd,
+  .site-header-cart dl.variation p,
+  table.shop_table_responsive dl.variation p {
+    margin: 0; }
+
+  .site-header-cart dl.variation p,
+  table.shop_table_responsive dl.variation p {
+    font-weight: normal; }
+
+  .wc-item-meta {
+    font-size: .875em;
+    list-style: none; }
+
+  .wc-item-meta,
+  .wc-item-meta p {
+    margin: 0; }
+
 /**
  * Breadcrumbs
  */
@@ -863,6 +893,11 @@ ul#shipping_method {
 .infinite-scroll .woocommerce-pagination {
   display: none; }
 
+.woocommerce-page .infinite-wrap {
+  border-top: none;
+  margin-top: 0;
+  padding-top: 0; }
+
 /**
  * Onsale
  */
@@ -1357,17 +1392,17 @@ a.added_to_cart {
   .widget.woocommerce ul.product_list_widget li .remove {
     display: block;
     font-size: 1.5em;
-    line-height: 1;
+    line-height: .75;
     color: #333;
     border-radius: 100%;
     text-decoration: none;
     font-weight: 700;
     box-shadow: none;
     opacity: .5;
-    text-align: center;
-    margin: .65rem 0 1rem .75rem;
-    height: 1em;
-    width: 1em;
+    text-align: right;
+    margin: 0 0 0 .5rem;
+    height: .75em;
+    width: .75em;
     float: right; }
 
 /**
@@ -1500,6 +1535,7 @@ a.added_to_cart {
     .widget_shopping_cart ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a {
       color: #404040;
       width: auto;
+      margin-right: 1em;
       padding: 0; }
 
 .widget_shopping_cart .total {

+ 40 - 5
independent-publisher-2/woocommerce.css

@@ -436,6 +436,8 @@ ul.products {
   box-shadow: none;
   background: url("../../plugins/woocommerce/assets/css/photoswipe/default-skin/default-skin.png") 0 0 no-repeat;
   background-size: 264px 88px; }
+  .single-product div.pswp div.pswp__scroll-wrap div.pswp__ui div.pswp__top-bar button.pswp__button:hover {
+	opacity: 1; }
   .single-product div.pswp div.pswp__scroll-wrap div.pswp__ui div.pswp__top-bar button.pswp__button.pswp__button--close {
     background-position: 0 -44px; }
   .single-product div.pswp div.pswp__scroll-wrap div.pswp__ui div.pswp__top-bar button.pswp__button.pswp__button--zoom {
@@ -826,6 +828,33 @@ ul#shipping_method {
     margin: 0;
     padding: 0; }
 
+  .site-header-cart dl.variation,
+  table.shop_table_responsive dl.variation {
+    font-size: .875em;
+    margin: .875em 0 0; }
+
+  .site-header-cart .widget_shopping_cart span.quantity,
+  table.shop_table_responsive .quantity {
+  display: block;
+  margin: .875em 0; }
+
+  .site-header-cart dl.variation dd,
+  table.shop_table_responsive dl.variation dd,
+  .site-header-cart dl.variation p,
+  table.shop_table_responsive dl.variation p {
+    margin: 0; }
+  .site-header-cart dl.variation p,
+  table.shop_table_responsive dl.variation p {
+  font-weight: normal; }
+
+.wc-item-meta {
+   font-size: .875em;
+   list-style: none; }
+  .wc-item-meta,
+  .wc-item-meta p {
+    margin: 0; }
+
+
 /**
  * Breadcrumbs
  */
@@ -863,6 +892,11 @@ ul#shipping_method {
 .infinite-scroll .woocommerce-pagination {
   display: none; }
 
+.woocommerce-page .infinite-wrap {
+  border-top: none;
+  margin-top: 0;
+  padding-top: 0; }
+
 /**
  * Onsale
  */
@@ -1357,17 +1391,17 @@ a.added_to_cart {
   .widget.woocommerce ul.product_list_widget li .remove {
     display: block;
     font-size: 1.5em;
-    line-height: 1;
+    line-height: .75;
     color: #333;
     border-radius: 100%;
     text-decoration: none;
     font-weight: 700;
     box-shadow: none;
     opacity: .5;
-    text-align: center;
-    margin: .65rem .75rem 1rem 0;
-    height: 1em;
-    width: 1em;
+    text-align: left;
+    margin: 0 .5rem 0 0;
+    height: .75em;
+    width: .75em;
     float: left; }
 
 /**
@@ -1500,6 +1534,7 @@ a.added_to_cart {
     .widget_shopping_cart ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a {
       color: #404040;
       width: auto;
+      margin-left: 1em;
       padding: 0; }
 
 .widget_shopping_cart .total {