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 關注
- 115 瀏覽
添加回答
舉報