会員登録(無料)
ログイン
スキルアップは今すぐこちら!▶

【WordPress】独自のプロフィール項目を保存する方法(アクションフック・フィルターフック)

WordPress(ワードプレス)
この記事は約4分で読めます。

独自にユーザー情報を保存したいと思ったときに、いくつかのアクションフックとフィルターフックがあるようなので調べてみました。

show_user_profile

「プロフィール」編集画面の「自己紹介」設定テーブルの後に発生します。このアクションは、現在のユーザーが自分のプロファイルを編集している場合にのみ発生します。

do_action( 'show_user_profile', WP_User $profileuser )
add_action('show_user_profile', 'add_avatar_to_user_profile');

このフックは、ユーザーが自分のプロフィールページを表示しているときにのみトリガーされます。フックを(現在のユーザーだけでなく)すべてのプロファイルページに適用する場合は、edit_user_profileフックも使用する必要があります。

https://developer.wordpress.org/reference/hooks/show_user_profile/

edit_user_profile

「ユーザーの編集」画面の「ユーザーについて」設定テーブルの後に発生します。このアクションフックは通常、WordPressのユーザープロファイルページの下部に新しいフィールドまたはデータを出力するために使用されます。

do_action( 'edit_user_profile', WP_User $profileuser )
add_action('edit_user_profile', 'add_avatar_to_user_profile');

このフックは、ユーザーが別のユーザーのプロファイルページ(自分のプロファイルページではない)を表示しているときにのみトリガーされます。すべてのプロファイルページ(現在のユーザーを含む)にフックを適用する場合は、show_user_profileフックも使用する必要があります。

https://developer.wordpress.org/reference/hooks/edit_user_profile/

profile_update

既存のユーザーが更新された直後に発生します。

do_action('profile_update'、 int $ user_id、 WP_User $ old_user_data、 array $ userdata )
add_action('profile_update', 'update_avatar_to_user_profile');

personal_options_update

「プロフィール」編集画面でページが読み込まれる前に発生します。

do_action( 'personal_options_update', int $user_id )
add_action('personal_options_update', 'update_avatar_to_user_profile');

get_avatar

ユーザーのアバターのHTMLをフィルタリングします。「get_avatar」フィルターを使用して、get_avatar()関数によって返されるアバター画像を変更できます。

apply_filters('get_avatar'、 string $ avatar、 mixed $ id_or_email、 int $ size、 string $ default、 string $ alt、 array $ args)
add_filter( 'get_avatar' , 'get_uploaded_user_profile_avatar' , 100000 , 5 )

get_avatar()

ユーザー、電子メールアドレス、MD5ハッシュ、コメント、または投稿のアバタータグを取得します。

get_avatar(mixed  $ id_or_email、 int  $ size  =  96、 string  $ default  =  ''、 string  $ alt  =  ''、 array  $ args  =  null  )

ユーザーのアバターのタグ。失敗するとFalse。

https://developer.wordpress.org/reference/functions/get_avatar/

まとめ

ユーザーのプロフィールを編集できるアクションフック・フィルターフックが色々とありました。必要があればお試しください😃

タイトルとURLをコピーしました