如何检查类别中的产品是否在购物车中

时间:2014-01-30 22:03:02

标签: php wordpress woocommerce

我正在尝试让我的结帐显示几个表单字段,前提是客户的购物车中有特定类别的产品。到目前为止,我能够使用我在wordimpress上找到的代码获得一半。我在最后添加了一个位以检查类别,当我运行它时它工作,但在页面的其余部分加载之前超时。

<?php
function wordimpress_is_conditional_product_in_cart( $product_id ) {
//Check to see if user has product in cart
global $woocommerce;

//flag no book in cart
$book_in_cart = false;

foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
    $_product = $values['data'];
        $terms = get_the_terms( $_product->id, 'product_cat' );

            foreach ($terms as $term) {
                $_categoryid = $term->term_id;
            }

    if ( $_categoryid === 27 ) {
        //book is in cart!
        $book_in_cart = true;

    }
}

return $book_in_cart;

}
?>

有更好的方法可以做到这一点,还是有办法实现这个目的?

1 个答案:

答案 0 :(得分:0)

这结果是一个记忆问题。一旦我为wordpress分配了分配的内存,它就没有问题。我会把这个留在这里,因为其他人遇到了这个问题。