簡體   English   中英

wordpress-跟蹤用戶數據更新的時間-鈎子不起作用

[英]wordpress - track when user data updated - hook not working

在站點的前端,可以通過AJAX完成編輯/更新用戶詳細信息的功能。

我想跟蹤上次用戶數據更新的時間,並為此編寫了一個簡單的函數。 但是,這是行不通的,我什至不確定函數是否正在執行。 我試過使用以下掛鈎,但是沒有用。

update_user_meta,updated_user_meta,profile_update

誰能看到我在做什么錯?

//add date / time to user meta data when details are updated

add_action( 'update_user_meta', 'updated_user_details' );

function updated_user_details(){

    $user_id = get_current_user_id();

    $datetime = date('Y-m-d H:i:s');

    update_user_meta( $user_id, 'updated', $datetime );

}

我可以立即看到此代碼有兩點錯誤。

首先, do_action用於創建動作,而不是掛鈎它們。 為了吸引他們,您需要使用add_action請參閱此處

其次,據我wp_update_userwp_update_user不是您可以加入的有效操作。 我認為您要查找的是updated_{$meta_type}_meta請參閱此處

因此,它將更像是:

add_action( 'updated_user_meta', 'updated_user_details' );
function updated_user_details($meta_id, $object_id, $meta_key, $_meta_value){

     $user_id = get_current_user_id();

    //check to see if 'updated' field exists
    $updated= get_user_meta($user_id, 'updated', TRUE);

    //if yes update date /time
    $datetime = date('Y-m-d H:i:s');

    update_user_meta( $user_id, 'updated', $datetime );
}

注意:這尚未經過測試,但應該給您一些想法和參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM