有没有更好的解决方案来筛选WOOCOMMERCE中可用的产品变体?

时间:2019-05-23 13:18:29

标签: php wordpress woocommerce filter lazy-loading

我想通过产品的可用变体过滤产品。 案例(仅示例):一位客户希望从“ Nike”找到尺寸为“ 42”的鞋子。因此,他可以使用woocommerce的“按产品属性过滤”选项进行搜索。我已经有了逻辑,但是加载速度只是很慢。

我正在寻找一个更好的woocommerce钩子,并依靠一些技巧来提高加载速度。

add_action('woocommerce_before_shop_loop_item_title','wk_out_of_stock_variations_CUP_loop');


function wk_out_of_stock_variations_CUP_loop()
{
   global $product;
   global $wpdb;

   $id = $product->get_id();
   $filter = array();
   $product_test = $product->get_available_variations();

   foreach( $_GET as $key => $value ) {
       $expl_get = explode( '_', $key );

       if( $expl_get[0] == 'filter' ) {
           $filter[$expl_get[1]] = $value;
     }
   }

   foreach ( $filter as $key => $value ) {
       foreach( $product_test as $prd_var ) {
           if( $prd_var["attributes"]["attribute_pa_$key"] == $value ) {
               break;
           } else {
           echo "<style>.post-$id{display: none !important}</style>";
           }
       }

   }
}


$filter中设置的过滤条件(“大小”,“颜色” ...)。在网址中显示为$_GET参数,例如/?filter_1=2&filter_2=5

0 个答案:

没有答案