您可以通过save_post
按照以下示例钩住:
function wpse_374688_save_post( $post_id, $post, $update ) {
// only update orders (post_type=shop_order)
if ( \'shop_order\' !== $post->post_type ) {
return;
}
update_post_meta( $post_id, \'activecampaign_for_woocommerce_accepts_marketing\', 1 );
}
add_action( \'save_post\', \'wpse_374688_save_post\', 10, 3 );
此回调将运行每种类型,并以某种形式保存和/或更新任何类型的post\\U类型。在上面的示例中,我们检查post\\u类型以确保它是
shop_order
, 如果没有,我们就提前保释。
如果要确保无论是保存还是更新,所有订单都将此设置为true(1),则可以保持代码不变。如果您只希望它在更新时运行,请使用$update
变量,根据这是第一次保存还是后续更新,该变量将为true或false。
作为提示,您可能需要检查订单的状态,以及某些类型的订单是否应将此值设置为true(1),例如取消/退款,但这完全由您自行决定。