Browse Source

Karuna: adds correct WC filters on return functions.

Jeffrey Pearce 7 years ago
parent
commit
160c2a5537
1 changed files with 8 additions and 24 deletions
  1. 8 24
      karuna/inc/woocommerce.php

+ 8 - 24
karuna/inc/woocommerce.php

@@ -111,7 +111,10 @@ add_filter( 'body_class', 'karuna_woocommerce_active_body_class' );
  * @return integer number of products.
  */
 function karuna_woocommerce_products_per_page() {
-	return 12;
+	return absint( apply_filters( 'karuna_woocommerce_products_per_page', 12 ) );
+}
+if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '3.3', '<' ) ) {
+	add_filter( 'loop_shop_per_page', 'karuna_woocommerce_products_per_page' );
 }
 
 // Legacy WooCommerce products per page filter.
@@ -125,7 +128,7 @@ if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '3.3', '<' ) ) {
  * @return integer number of columns.
  */
 function karuna_woocommerce_thumbnail_columns() {
-	return 4;
+	return absint( apply_filters( 'karuna_woocommerce_product_thumbnail_columns', 4 ) );
 }
 add_filter( 'woocommerce_product_thumbnails_columns', 'karuna_woocommerce_thumbnail_columns' );
 
@@ -135,7 +138,7 @@ add_filter( 'woocommerce_product_thumbnails_columns', 'karuna_woocommerce_thumbn
  * @return integer products per row.
  */
 function karuna_woocommerce_loop_columns() {
-	return 2;
+	return absint( apply_filters( 'karuna_woocommerce_loop_columns', 2 ) );
 }
 
 // Legacy WooCommerce columns filter.
@@ -150,12 +153,10 @@ if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '3.3', '<' ) ) {
  * @return array $args related products args.
  */
 function karuna_woocommerce_related_products_args( $args ) {
-	$defaults = array(
+	$args = apply_filters( 'karuna_woocommerce_related_products_args', array(
 		'posts_per_page' => 2,
 		'columns'        => 2,
-	);
-
-	$args = wp_parse_args( $defaults, $args );
+	) );
 
 	return $args;
 }
@@ -347,23 +348,6 @@ function karuna_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 karuna_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', 'karuna_woocommerce_jetpack_duplicate_products', 100 );
-
 /**
  * Override number of products per page in Jetpack infinite scroll.
  *