在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。我想让它出现在像这样的查看顺序页面现在取消订单不起作用我该怎么办?不使用Javascript?
欢迎任何帮助。
以下代码将启用我的帐户订单列表中的Woocommerce“取消”阳离子按钮,也适用于processing
或shipped
订单状态(默认Woocommerce状态在这里pending
和failed
):
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文件中。经过测试和工作。