我在WooCommerce和自定义帖子类型/自定义字段方面遇到问题。
我有一个应用程序,其中一个新的WooCommerce订单会自动创建一个新帖子(CPT=“audits”)。该帖子有一些自定义字段、订单号(预填充WooCommerce订单号)和状态(下拉列表中有4个选项)。
我的目标是,当帖子状态更改为“完成”(从“进行中”或任何其他状态)时,WooCommerce订单将自动更改为“完成”。
以下是我目前正在尝试但运气不佳的代码:
function my_change_status_function () {
global $post;
$ordernumber = get_post_meta( $post->ID, \'order_number\', true );
$audit_status = get_post_meta( $post->ID, \'audit_status\', true );
if ( $audit_status == \'Complete\' ) {
return;
$order = new WC_Order( $ordernumber );
$order->update_status( \'completed\' );
}
}
add_action( \'save_post_audits\', \'my_change_status_function\' );
SO网友:Gabriel
去除return;
在执行以下两行代码之前过早退出函数;这就是为什么状态没有改变。
function my_change_status_function () {
global $post;
$ordernumber = get_post_meta( $post->ID, \'order_number\', true );
$audit_status = get_post_meta( $post->ID, \'audit_status\', true );
if ( $audit_status == \'Complete\' ) {
$order = new WC_Order( $ordernumber );
$order->update_status( \'completed\' );
}
}
add_action( \'save_post_audits\', \'my_change_status_function\' );