升级到Woocommerce 2.3.10导致结账被阻止

时间:2015-06-07 23:51:59

标签: php wordpress woocommerce

环境:

  • Wordpress - 4.2.2
  • Woocommerce - 2.3.10
  • Woocommerce产品附加组件 - 2.7.4
  • WooThemes StoreFront Theme - 1.4.5

我刚刚升级到WC 2.3.10然后尝试了测试购买。当我到达结帐页面时,结帐区域显示为灰色(class =“blockUI blockOverlay”),您无法继续购买。这在使用WC 2.3.8进行更新之前有效。下面的代码似乎是问题所在。如果我删除或评论它,那么结帐工作,但UPS运输失败。该代码更新了重量,高度,长度和宽度,以便UPS运输正确计算。我尝试了很多没有解决方案的变种。

// This updates the cart data prior to the shipping calculations
add_action('woocommerce_before_calculate_totals', 'rs_before_calculate_totals');
function rs_before_calculate_totals($cart_object) {
    foreach ($cart_object->cart_contents as $key => $value) {
        if ($value['product_id'] == PRICECALCPRODUCTNUMBER) {
            $addons = $value['addons'];
            foreach ($addons as $addon) {
                if ($addon['name'] == 'Custom Weight - Value') {
                    echo $addon['name'] . ' - ' . $addon['value'] . "<br/>";
                    $value['data']->weight = $addon['value'];
                }

                if ($addon['name'] == 'Custom Width - Value') {
                    echo $addon['name'] . ' - ' . $addon['value'] . "<br/>";
                    $value['data']->width = $addon['value'];
                }

                if ($addon['name'] == 'Custom Height - Value') {
                    echo $addon['name'] . ' - ' . $addon['value'] . "<br/>";
                    $value['data']->height = $addon['value'];
                }

                if ($addon['name'] == 'Custom Length - Value') {
                    echo $addon['name'] . ' - ' . $addon['value'] . "<br/>";
                    $value['data']->length = $addon['value'];
                }
            }
        }
    }
}

2 个答案:

答案 0 :(得分:1)

我终于找到了问题的答案。我在functions.php中为我的主题插入了“echo”语句,这导致了一个我看不到的隐藏错误条件。我删除了“echo”语句,事情又开始了。

答案 1 :(得分:0)

我也得到了灰色的“blockUI blockOverlay”效果,截至最新的woocommerce 2.3.10,从你的环境我看到我们共享相同的主题 - 店面。 (和WP一样:4.2.2)。

对我来说,PayPal工作正常,Stripe会成功接受付款,但后来会像你的一样灰白,而且永远不会进入感谢页面。仍在寻找解决方案。