gpt4 book ai didi

php - Woocommerce - 允许针对不同状态再次订购

转载 作者:行者123 更新时间:2023-12-04 15:52:37 28 4
gpt4 key购买 nike

我希望对所有状态允许 Order Again 功能。默认情况下,WooCommerce 仅允许状态为已完成的订单使用此功能。这似乎是一个两步过程,因为第一步需要向用户显示按钮,这是通过编辑此文件完成的:

wc-template-functions.php

使用这段代码:

function woocommerce_order_again_button( $order ) {
//if ( ! $order || ! $order->has_status( 'completed' ) || ! is_user_logged_in() ) {
// Allow 'Order Again' at all times.
if ( ! $order || ! is_user_logged_in() ) {
return;
}

wc_get_template( 'order/order-again.php', array(
'order' => $order
) );
}

通过注释掉 $order->has_status() 方法的验证,我能够在页面上显示按钮。但是,当尝试单击“再次订购”按钮时,它仍然会在将商品添加到购物车之前进行检查。

谁能告诉我这段代码存储在哪里,以便对 $order->has_status() 进行初步检查?

最佳答案

您可以简单地添加差异订单状态来过滤 woocommerce_valid_order_statuses_for_order_again

add_filter( 'woocommerce_valid_order_statuses_for_order_again', 'add_order_again_status', 10, 1);

function add_order_again_status($array){
$array = array_merge($array, array('on-hold', 'processing', 'pending-payment', 'cancelled', 'refunded'));
return $array;
}

关于php - Woocommerce - 允许针对不同状态再次订购,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42116885/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com