wordpress - 从管理员会员面板捕获更新会员状态挂钩
问题描述
我正在开发 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 );
解决方案
您可以使用“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/
推荐阅读
- python - 加载具有相似文件名的文件的 Pythonic 方式
- html - 使用 CSS 网格将所有项目水平向左对齐
- sql - 在多个表中双重分组
- javascript - setTimeout 会延迟函数的创建吗?
- django - Django和crispy form,如何在crispy Layout中添加id和name
- amazon-web-services - AWS CDK - 角色和策略创建
- haproxy - 如何格式化长配置文件行
- r - R pivot_longer 结合了几列
- javascript - 循环遍历大量文档并在文件中快速找到它时更新它
- swift - Swift, CoreData, FetchRequest, 2 Entities, ManyToMany, with GroupBy, 有计数和排序,怎么做?