在WooCommerce中为特定订单状态启用“取消”订单操作按钮

问题描述 投票:2回答:1

在Woocommerce我的帐户订单中,我使用以下代码检查客户订单是处于“处理”还是“已发货”状态,如果是这种情况,则显示取消订单的按钮:

    if ($order_status == 'processing' || $order_status == 'shipped' ){
    echo '<a href="click=1" class="woocommerce-button button return">Return Order</a>';
        $order->update_status('cancelled');
}

使用我的代码,当状态为“正在处理”或“已发货”时,订单会自动更新为取消状态,我无法使按钮生效。我想在按钮单击时发生这种情况以触发update_status。我想让它出现在像这样的查看顺序页面enter image description here现在取消订单不起作用我该怎么办?不使用Javascript?

欢迎任何帮助。

php wordpress woocommerce status orders
1个回答
2
投票

以下代码将启用我的帐户订单列表中的Woocommerce“取消”阳离子按钮,也适用于processingshipped订单状态(默认Woocommerce状态在这里pendingfailed):

add_filter( 'woocommerce_valid_order_statuses_for_cancel', 'custom_valid_order_statuses_for_cancel', 10, 1 );
function custom_valid_order_statuses_for_cancel( $statuses ){

    // Set HERE the order statuses where you want the cancel button to appear
    return array_merge( $statuses, array('processing', 'shipped'));
}

代码位于活动子主题(或活动主题)的function.php文件中。经过测试和工作。

© www.soinside.com 2019 - 2024. All rights reserved.