通过自定义价格过滤器,Woocommerce产品变化极其缓慢

时间:2017-06-22 16:14:31

标签: php wordpress woocommerce

我有一个功能,根据一些条件更新变化的价格。我们的商店销售课程并根据日期(自定义字段),从下拉选项中删除过去今天的变化。

一切都按预期运作。但问题是,产品页面非常慢,过滤器会在加载时间内增加5-8秒。

当我在输出变化ID的函数中输入回波时,它会根据变化量输出12次。我们有大约20个变体,所以这个功能运行240次以上。

这是过滤器和功能:

add_filter('woocommerce_product_variation_get_price', 'repeat_price_filter', 10, 2); 

function repeat_price_filter($price, $product_this){
    if(  isset($product_this->variation_id) ):

        $wc_pf = new WC_Product_Factory();
        $var_product = $wc_pf->get_product(  $product_this->variation_id );

        //if condtions, modify price here.

    endif;

    return $price;

}

我怎样才能找出重复调用此过滤器的内容?我尝试将IF放入检查中,以便仅检查有助于略微改变的instock变化。

我还有另一个更新产品页面价格的功能,有没有办法只将这个过滤器用于购物车/结账等?

谢谢!

0 个答案:

没有答案