1 回答

TA贡献1852条经验 获得超7个赞
更新:找到解决方案
所以我不认为profile_update
钩子按其应有的方式工作,或者我使用它是错误的。我发现它是profile_update
在帖子/用户的更新被推送之前触发的,这意味着如果我要检查元的值,它们将是旧的值,即使在 WP 文档中它说它传递旧值对于用户作为被调用函数的变量,我感到很有趣,这意味着如果我在函数中查询元值,它将是更新的元值。
如果您需要一个钩子来检查任何(甚至用户)metavalue
上是否有任何钩子,更重要的是在更新推送到数据表后触发,请使用(WP Docs)。post type
updated_{YOUR POST TYPE}_meta
所以而不是
add_action( 'profile_update', 'site_refProfile_existingUser', 10, 2);
我用过这个
add_action( 'updated_user_meta', 'site_refProfile_existingUser',10, 2);
如果您要更新用户的元数据,还要确保在您的函数中remove_action
在开始和add_action
结束时,否则我认为它将陷入无限循环
function site_refProfile_existingUser( $meta_id, $user_id) {
remove_action( 'updated_user_meta', 'site_refProfile_existingUser',10, 2);
// your code.....
add_action( 'updated_user_meta', 'site_refProfile_existingUser',10, 2);
}
(无限循环的事情是一个假设,因为它之前发生在我使用另一个钩子时)
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报