私はeコマースプラグインを修正する作業をしています、そしてそれはwp_update_user()関数を利用します、そしてこの関数が別のテーブル(プラグインによって作成された)を実行する度に、また更新されます。問題は、その2番目のテーブルの更新されたデータが正しくないこと、そしてそれを行うコードの一部を見つけるのに問題があることです。
だから私は疑問に思っていました、wp_update_user()関数はすべてのファイルの中でそれを検索できるようにいくつかの "アクション"を引き起こしますか?例:
add_action('wp_logout', 'logout_handler');
wp_update_user()
は/wp-includes/user.php
行1401-1439にあります。既存のユーザーを更新するか、ユーザーが存在しない場合は新しいユーザーを追加するためにwp_insert_user()
(同じファイル、行1254-1380)を使用します。その機能は、ユーザーアカウント情報に影響を与えるさまざまなフィルターやアクションが存在する場所であり、$user
オブジェクトに対して実行できるすべてのことを示します。
ユーザーが更新されると、これらのパラメータを使ってこのアクションが呼び出されます。'profile_update', $user_id, $old_user_data );
これがwp_insert_user()
のuser.php
からの関連コードです。
if ( $update ) {
/**
* Fires immediately after an existing user is updated.
*
* @since 2.0.0
*
* @param int $user_id User ID.
* @param WP_User $old_user_data Object containing user's data prior to update.
*/
do_action( 'profile_update', $user_id, $old_user_data );
} else {
/**
* Fires immediately after a new user is registered.
*
* @since 1.5.0
*
* @param int $user_id User ID.
*/
do_action( 'user_register', $user_id );
}