この記事は最後に更新してから1年以上経過しています。

5.7の新機能:AJAXでパスワードを取得

説明

日本時間の今朝「WordPress 5.7 Beta 3(以降Beta 3)」が予定通り公開されました。今回は、ソースコードを眺めていた時に気になったパスワードを取得できるAJAXについて確認した。

はじめに、この記事は公開された5.7 Beta 3をもとにしており、正式リリースの際に変更される可能性があることを予めお断りする。

ログイン時は無効

まずは実際に新しく追加されたAJAXをのURLにアクセスしてみる。

http://localhost/wp-admin/admin-ajax.php?action=generate-password

アクセスしたユーザーがログインしていない場合は、次のようなJSONデータがレスポンスとして返ってくる。

{"success":true,"data":"C*FsS525pBj5uB0bTh1TuZkx"}

dataプロパティの内容がパスワードであり、英数記号による24字のパスワードがランダムに生成されている。

このパスワードを取得できるAJAXは次のように登録されており、ユーザーがログインされていない場合のみ機能するようになっている。

add_action( 'wp_ajax_nopriv_generate-password', 'wp_ajax_nopriv_generate_password' );

今度はログインした後にさきほどのAJAXのURLにアクセスする。今回のレスポンスは 0 となり、パスワードのJSONデータは返ってこない。

このAJAXはどこで使う?

さて、パスワードを取得できるAJAXだが、パスワードリセット時に新しいパスワードを設定する画面で使用されている。tracで関連トピックを探してみると、4年以上前に提案された「Reset Password Page UX」にもとづいて「Generate Password」ボタンが追加され、そのボタンが押されると新しいパスワードを取得する仕組みが導入されている。

個人的には普段ほとんど見ることがない画面だが、5.7ではこんなところも改良されているんですね。


最終更新 : 2021年02月17日 11:48

お勧め

wp_revisions_to_keep(2023年4月4日 更新)

int wp_revisions_to_keep( WP_Post $post )
投稿情報のリビジョン数を取得する。

get_month_link(2012年2月2日 更新)

string get_month_link( mixed $year, mixed $month )
月アーカイブのURLを取得する。

get_site_icon_url(2020年4月2日 更新)

string get_site_icon_url( [ int $size = 512 [ , string $url = '' [ , int $blog_id = 0 ] ] ] )
サイトアイコンのURLを取得する。

is_singular(2026年8月20日 更新)

bool is_singular( [ mixed $post_types = '' ] )
要求されているページが、投稿またはページか調べる。

wp_strip_all_tags(2018年5月27日 更新)

string wp_strip_all_tags( string $string [ , bool $remove_breaks = false ] )
文字列からHTMLタグを取り除く。