首页 > 解决方案 > 从管理员会员面板捕获更新会员状态挂钩

问题描述

我正在开发 woocommerce 插件,这是 woocommerce 会员资格的扩展。我需要捕获当会员状态发生变化时触发的钩子。所以我尝试使用'wc_memberships_user_membership_status_changed',但是当更改涉及到管理面板时它不会触发......我想它会在状态自然变化时触发,例如过期......

代码示例

function membershipuser_status_changed($user_membership, $old_status, $new_status ){
  error_log('wc_memberships_user_membership_status_changed');
}
add_action( 'wc_memberships_user_membership_status_changed', 'membershipuser_status_changed', 10, 3 );

标签: wordpresshookwoocommerce-memberships

解决方案


您可以使用“transition_post_status”钩子进行检查

function some_function( $new, $old, $post ) {
    if ( $post->post_type == 'your_post_type' ) {
        // do stuff
    } else {
        return;
    }
}

来源:https ://developer.wordpress.org/reference/hooks/transition_post_status/


推荐阅读