[{"data":1,"prerenderedAt":334},["ShallowReactive",2],{"$ft6jtkd6xhw3c":3,"$f39rqaf0wvca02":263},{"featured":4,"latest":129,"categories":227},[5,14,27,37,48,56,66,76,86,96,106,114,122],{"slug":6,"title":7,"date":8,"excerpt":9,"image":10,"categories":11},"custom-database-tables","Custom DataBase Tables","2015-11-24T02:29:34","You can create the new own table freely in the your WordPress database via this plugin. Then, you can make the management of table or (as view or entry or edit) data in a simple user interface.\\nAlso,","\u002Fassets\u002Fuploads\u002F2016\u002F02\u002Fcdbt-overview.png",[12],{"slug":13,"name":7},"cdbt",{"slug":15,"title":16,"date":17,"excerpt":18,"image":19,"categories":20},"10_php_tips_for_developers","PHP開発者が心得ておくべき10の鉄則","2016-01-11T18:38:09","PHPだけに限った話ではないが、プログラミングを行うに当たって、心得て、準備しておくと失敗が劇的に減る事柄をまとめてある良い記事を見つけたので、私なりの解釈で意訳しつつ、経験則を踏まえてあらためてまとめてみた。 オリジナ…","\u002Fassets\u002Fuploads\u002F2016\u002F01\u002Feyecatch-php-10-tips.jpg",[21,24],{"slug":22,"name":23},"column","コラム",{"slug":25,"name":26},"development","開発関連",{"slug":28,"title":29,"date":30,"excerpt":31,"image":32,"categories":33},"jquery-timeline-v1","2種類の横型タイムラインを簡単に作成できる「jQuery.Timeline」をリリース","2017-05-29T14:55:46","現在開発しているサービスで利用するべく、横型タイムラインを生成できるjQueryプラグインを自作したので、そこだけ単独でリリースしてみた。 ソースコード等はGitHubの方にリリースしてあるので、興味のある方は、そち…","\u002Fassets\u002Fuploads\u002F2017\u002F05\u002Fjquery_timeline_image.png",[34],{"slug":35,"name":36},"jqtl","jQuery.Timeline",{"slug":38,"title":39,"date":40,"excerpt":41,"image":42,"categories":43},"optimize-browser-cache-of-static-resources","更新されたJS、CSS、画像のみブラウザキャッシュを破棄して読み込ませる","2018-01-31T15:47:47","WEBサービスの保守や開発をやっていると、JavaScriptやスタイルシート、画像などの静的リソースを更新した際、しばしば「確認したけど、更新されてないよ」とか云われて、「ブラウザのキャッシュを消してからもう一度見て…",null,[44,47],{"slug":45,"name":46},"codes","コード集",{"slug":25,"name":26},{"slug":49,"title":50,"date":51,"excerpt":52,"image":53,"categories":54},"jquery-timeline","jQuery.Timeline version2 – full documentation","2019-03-04T20:40:48","Plugin Overview The jQuery.Timeline plugin provides you two types of the horizontal timeline. You can create a…","\u002Fassets\u002Fuploads\u002F2019\u002F03\u002Fjquery.timeline_v2.jpg",[55],{"slug":35,"name":36},{"slug":57,"title":58,"date":59,"excerpt":60,"image":61,"categories":62},"released-the-sloth","Released the Sloth of mobile-first CSS micro framework!","2019-04-16T18:04:25","I released the “Sloth” that is mobile-first CSS micro framework. I have long used frontend framewo…","\u002Fassets\u002Fuploads\u002F2019\u002F04\u002Fsloth_doc_head.png",[63],{"slug":64,"name":65},"sloth","Sloth",{"slug":67,"title":68,"date":69,"excerpt":70,"image":71,"categories":72},"challenge-to-conceal-the-wordpress-site","WordPressサイトを徹底的に秘匿化する","2020-02-02T23:59:58","私は自分の個人サイトをはじめ、仕事でもWordPressサイトを運用している。WordPressは気軽にサイトを立ち上げられてカスタマイズも簡単な、素晴らしいオープンソースなのだが、世界中で使われまくっているその知名度…","\u002Fassets\u002Fuploads\u002F2020\u002F02\u002Fshutterstock_1878005929.jpg",[73],{"slug":74,"name":75},"wordpress","WordPress関連",{"slug":77,"title":78,"date":79,"excerpt":80,"image":81,"categories":82},"what-is-forkor","Made a shortened URL app called Forkor","2020-07-07T22:27:01","What’s Forkor? Forkor is a service that provides a shortened URL feature that allows you to redirect any…","\u002Fassets\u002Fuploads\u002F2020\u002F07\u002Fforkor.png",[83],{"slug":84,"name":85},"forkor","Forkor",{"slug":87,"title":88,"date":89,"excerpt":90,"image":91,"categories":92},"manual-about-svg-japan","インタラクティブな日本地図を生成するJSプラグイン「SVG Japan」","2020-11-16T21:19:58","各都道府県をそれぞれ選択・クリック可能なインタラクティブな日本地図を生成するネイティブJavaScript建てのプラグイン「SVG Japan」を作ったので、その紹介と使い方をまとめておく。ちなみにソースコードはgit…","\u002Fassets\u002Fuploads\u002F2020\u002F11\u002Fsvg-japan.png",[93],{"slug":94,"name":95},"svg-japan","SVG Japan",{"slug":97,"title":98,"date":99,"excerpt":100,"image":101,"categories":102},"wp-ignitor-plugin-to-conceal-wordpress-site","WordPressサイトを秘匿化するプラグイン「WP Ignitor」","2021-01-19T15:28:21","以前「WordPressサイトを徹底的に秘匿化する」という記事で、WordPress建てのサイトを秘匿化する方法を取り上げたのだが、あれをサイト構築時に毎度実施するとなるととても労力が必要であった。そこで、もっとお手軽…","\u002Fassets\u002Fuploads\u002F2021\u002F01\u002Fbanner-1554x500-1.png",[103],{"slug":104,"name":105},"wp-ignitor","WPイグナイタ",{"slug":107,"title":108,"date":109,"excerpt":110,"image":111,"categories":112},"tastewp","無料でWordPressサイトを複数作成できるWEBサービス「TasteWP」","2021-03-25T20:21:59","私が日本語翻訳に協力しているWEBサービス「TasteWP」について紹介しようと思う。 https:\u002F\u002Ftastewp.com このサービス、サインアップすることなく無料で自分用のWordPressサイトを作れるとい…","\u002Fassets\u002Fuploads\u002F2021\u002F03\u002FTasteWP_screenshot.png",[113],{"slug":74,"name":75},{"slug":115,"title":116,"date":117,"excerpt":118,"image":119,"categories":120},"monster-hunter-rise-skill-simulator","モンハンライズのスキルシミュレータを作ってみた！","2021-06-28T20:24:52","コラムで連載していたNintendo Switch版『モンスターハンターライズ』のスキルシミュレータ開発がやっと一段落して一通り完了した。いやぁ、記事書きながら同時並行で開発すると思っていた以上に時間がかかるもんだなぁ…","\u002Fassets\u002Fuploads\u002F2021\u002F06\u002Fmhrss_v100.png",[121],{"slug":25,"name":26},{"slug":123,"title":124,"date":125,"excerpt":126,"image":42,"categories":127},"comparison-of-javascript-date-libraries","JavaScriptの日時ライブラリを比較してみた","2021-07-28T22:39:19","ネイティブJavaScriptで日時を取り扱う場合、ビルトインされているDateオブジェクトを使うことになるのだが、このDateオブジェクトは取り扱いにクセが多く、直感的に日時を操作できない点でも有名である。そこで、専…",[128],{"slug":25,"name":26},[130,141,153,165,175,184,192,195,198,206,213,220],{"slug":131,"title":132,"date":133,"excerpt":134,"image":135,"categories":136},"pulllog_launched","ガチャ履歴を記録・分析できるWebサービス「PullLog」","2025-08-22T13:05:30","このたび、新しい個人開発サービスとして 「PullLog（プルログ）」 をリリースした。 URLはこちら https:\u002F\u002Fpulllog.net PullLogとは？ PullLogは、ソーシャルゲームのガチャ履歴を記録…","\u002Fassets\u002Fuploads\u002F2025\u002F08\u002Fpulllog_stats_jp.png",[137,140],{"slug":138,"name":139},"industries","プロダクト",{"slug":25,"name":26},{"slug":142,"title":143,"date":144,"excerpt":145,"image":146,"categories":147},"mockapi-php-openapi-schema-generation","モックAPIのレスポンスから OpenAPI 3.0 スキーマを自動生成するPHPツール","2025-04-17T09:31:52","私自身がそうなのですが、OpenAPI仕様書を毎回手作業で書いていて「面倒だな」と思ったことはありませんか？ そんな（私と）あなたにぴったりのツールがあります。 レスポンスの例さえ用意すれば、OpenAPI 3.0 スキ…","\u002Fassets\u002Fuploads\u002F2025\u002F04\u002Fswaggerui-preview.png",[148,151,152],{"slug":149,"name":150},"mockapi-php","MockAPI-PHP",{"slug":138,"name":139},{"slug":25,"name":26},{"slug":154,"title":155,"date":156,"excerpt":157,"image":158,"categories":159},"ambient_playlist_customize","Ambientでメメントモリのラメントプレイヤーを作る","2023-11-30T17:32:39","「Ambient」の最新バージョン 1.2.0で実装した「疑似フェーダー」機能を使って、ソーシャルゲーム「メメントモリ」のYouTube公式チャンネルで公開されているMVを集約したラメント専用プレイヤーを作ってみた。 ラ…","\u002Fassets\u002Fuploads\u002F2023\u002F11\u002Fambient_mememori_1.png",[160,163,164],{"slug":161,"name":162},"ambient","Ambient",{"slug":138,"name":139},{"slug":25,"name":26},{"slug":166,"title":167,"date":168,"excerpt":169,"image":170,"categories":171},"released_ambient_demo_version","Ambientメディアプレイヤーのクラウド版デモを公開","2023-11-22T13:47:36","つい先日「Ambient」の最新バージョン 1.1.0をリリースして、それに合わせてクラウド版デモサイトも公開してみた。 なお、クラウド版デモでローカルのホストコンピュータのメディアを再生するには、そのメディアファイルも…","\u002Fassets\u002Fuploads\u002F2023\u002F10\u002FAmbientMediaPlayer-typologo.png",[172,173,174],{"slug":161,"name":162},{"slug":138,"name":139},{"slug":25,"name":26},{"slug":176,"title":177,"date":178,"excerpt":179,"image":170,"categories":180},"ambient-media-player","YouTubeと自分のPC内メディアを同時に再生できるメディアプレイヤーを作ってみた","2023-10-20T00:00:25","私はよくPCで何か作業をするときには音楽を垂れ流していることが多い。 そういう時にかける曲は、手持ちのアルバムCD等からPCに取り込んだ音源だったり、さらにはYouTubeの動画だったりとメディアや再生環境がバラバラだ。…",[181,182,183],{"slug":161,"name":162},{"slug":138,"name":139},{"slug":25,"name":26},{"slug":185,"title":186,"date":187,"excerpt":188,"image":189,"categories":190},"what-is-the-sunorhc","Sunorhc is a date-time library for JavaScript","2021-08-25T22:55:55","Sunorhc is a lightweight library for handling dates and times for JavaScript. The library wraps a native JavaS…","\u002Fassets\u002Fuploads\u002F2021\u002F08\u002Fshutterstock_1091212919_resized.jpg",[191],{"slug":25,"name":26},{"slug":123,"title":124,"date":125,"excerpt":126,"image":42,"categories":193},[194],{"slug":25,"name":26},{"slug":115,"title":116,"date":117,"excerpt":118,"image":119,"categories":196},[197],{"slug":25,"name":26},{"slug":199,"title":200,"date":201,"excerpt":202,"image":203,"categories":204},"mhrise-skill-simulator-creation-chapter-12","モンスターハンターライズのスキルシミュレータを作ってみる！ 第12回","2021-06-21T13:11:46","今回は「マイセット登録」と護石データの「エクスポート／インポート」機能の追加をしていく。折り良く（悪く？）「FF7リメイク・インターグレード」や「FORTNITEシーズン7」が出たこともあって、そっちをプレイしてたらこ…","\u002Fassets\u002Fuploads\u002F2021\u002F04\u002Fb6ca09e9a7f6faf27641f62dabe64c6ff97b4f326aa478379e3c112aa28eb9ab.jpg",[205],{"slug":22,"name":23},{"slug":207,"title":208,"date":209,"excerpt":210,"image":203,"categories":211},"mhrise-skill-simulator-creation-chapter-11","モンスターハンターライズのスキルシミュレータを作ってみる！ 第11回","2021-06-07T14:52:31","さて、今回はユーザー個別データの管理部分を開発していく予定だが、まずその前にやっておくことがある。 新スキル「風雷合一」に対応する Ver.3.0の大型無料アップデートで追加された新スキルに「風雷合一」というのがある…",[212],{"slug":22,"name":23},{"slug":214,"title":215,"date":216,"excerpt":217,"image":203,"categories":218},"mhrise-skill-simulator-creation-chapter-10","モンスターハンターライズのスキルシミュレータを作ってみる！ 第10回","2021-06-02T00:29:10","今回は、護石管理画面の作成だ。この護石管理では、ユーザーごとに護石の登録を行う機能と、登録した護石を削除する機能を持つ仕様になる。この画面から登録した護石データはデータベースに格納するので、フロントエンド側からのリクエス…",[219],{"slug":22,"name":23},{"slug":221,"title":222,"date":223,"excerpt":224,"image":203,"categories":225},"mhrise-skill-simulator-creation-chapter-9","モンスターハンターライズのスキルシミュレータを作ってみる！ 第9回","2021-05-22T23:56:27","さて、今回はVuexによるデータ・キャッシュの実装だ。一度データベースから読み込んだデータをフロントエンド側で再利用可能なストアに格納することで、データベースへの接続回数を減らしてシステム負荷を下げるとともに、UX的な…",[226],{"slug":22,"name":23},[228,230,232,236,238,239,240,241,242,244,247,248,250,252,254,258,261],{"slug":161,"name":162,"count":229},3,{"slug":13,"name":7,"count":231},7,{"slug":233,"name":234,"count":235},"csnp","Custom Sticky Notes",2,{"slug":84,"name":85,"count":237},1,{"slug":35,"name":36,"count":229},{"slug":149,"name":150,"count":237},{"slug":64,"name":65,"count":237},{"slug":94,"name":95,"count":237},{"slug":74,"name":75,"count":243},37,{"slug":245,"name":246,"count":237},"wpqt","WP Qiita",{"slug":104,"name":105,"count":237},{"slug":22,"name":23,"count":249},29,{"slug":45,"name":46,"count":251},16,{"slug":138,"name":139,"count":253},5,{"slug":255,"name":256,"count":257},"lifelog","ライフログ",64,{"slug":259,"name":260,"count":235},"uncategorized","未分類",{"slug":25,"name":26,"count":262},45,{"type":264,"post":265},"post",{"slug":266,"title":267,"date":268,"excerpt":269,"image":71,"categories":270,"modified":272,"html":273,"tags":274,"related":298,"prev":323,"next":326},"part4-conceal-of-registration-or-authentication-on-wordpress","第４章 WordPressの登録・認証系の秘匿化","2020-03-26T02:06:28","前章までの施策によって、フロントエンド側に出力されるコンテンツ系ページからWordPressっぽさを排除できた。だが、ログイン画面などの認証系周りは未施策なため、この章ではその辺の秘匿化を行なっていく。 まず、現状の…",[271],{"slug":74,"name":75},"2021-02-05T12:33:44","\u003Cp>　前章までの施策によって、フロントエンド側に出力されるコンテンツ系ページからWordPressっぽさを排除できた。だが、ログイン画面などの認証系周りは未施策なため、この章ではその辺の秘匿化を行なっていく。\u003C\u002Fp>\n\u003Cp>　まず、現状の確認だが、今までの施策によって、WEBサイトのドキュメントルート直下にはWordPressのログイン画面である\u003Ccode>wp-login.php\u003C\u002Fcode>は存在していない。そのため、仮に\u003Ccode>https:\u002F\u002F{Site_Domain_Name}\u002Fwp-login.php\u003C\u002Fcode>に直接アクセスされたとしても、HTTP CODEとして404 NOT FOUNDが返される。しかし、WordPressのインストールパスを含めた\u003Ccode>https:\u002F\u002F{Site_Domain_Name}\u002Fapp\u002Fwp-login.php\u003C\u002Fcode>にアクセスするとログイン画面が表示されてしまう。サイトの秘匿化にあたっては、すべからく\u003Ccode>wp-login.php\u003C\u002Fcode>の存在を隠蔽してしまうのが最適解となる。\u003C\u002Fp>\n\u003Ch2>wp-login.phpの存在を消す\u003C\u002Fh2>\n\u003Cp>　このファイルがあるだけで、そのサイトがWordPress建てであることがバレてしまう。さらには、このファイル名によるログイン画面の存在は、不正アクセスやクラッキングの温床になるのでデメリットしかない。であれば、もう一律で\u003Ccode>wp-login.php\u003C\u002Fcode>へのアクセスを禁止して、その存在を亡きものにしてしまおう。\u003Cbr \u002F>\n　\u003Ccode>.htaccess\u003C\u002Fcode>を下記のように変更する。\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-aconf\"># ---\n# 7. wp-login.phpへのアクセスは、接続元に依らず一律で404レスポンスを返す\n# ---\nRewriteRule wp-login\\.php(.*)$ - [R=404,L]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　これで、URLに\u003Ccode>wp-login.php\u003C\u002Fcode>が含まれるアクセスはすべて404となる。\u003Cbr \u002F>\n　同時に、誰もWordPressにログインできなくなる（笑）。\u003C\u002Fp>\n\u003Ch2>新たなログイン用URLを作る\u003C\u002Fh2>\n\u003Cp>　では、\u003Ccode>wp-login.php\u003C\u002Fcode>に代る新しいログイン画面を作っていこう。この作り方には様々な方法があるが、今回は\u003Ccode>wp-login.php\u003C\u002Fcode>をラップして新しいログイン用URLを作る方法を紹介する。\u003Cbr \u002F>\n　この方法は、\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flogin-rebuilder\u002F\">Login rebuilderプラグイン\u003C\u002Fa>等で採用されているやり方で、WordPressのログイン画面URLを変更する方法としては結構メジャーなものではないだろうか。\u003Cbr \u002F>\n　まず、ドキュメントルートに新しいログイン画面となるPHPファイルを作ろう。今回のチャレンジではわかりやすく\u003Ccode>entrance.php\u003C\u002Fcode>とする。実際に運用するWebサイトでは、例えば憶えられづらいハッシュ値のような文字列のファイル名にしておくと、セキュリティ的には有用かもしれない。しかし、保守しづらくなるので一長一短ではあるが……。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">$\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> cd\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> {Document_Root_Path}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">$\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> touch\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> entrance.php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　作成した\u003Ccode>entrance.php\u003C\u002Fcode>の中身は、下記のようにする。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">$allow_ips \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">    \u002F\u002F ログイン画面にアクセスを許可するIPアドレスを定義（未定義の場合は全ての接続元を許可する）\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">    \u002F\u002F cf. '123.123.123.123', ...\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">];\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $allow_ips ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">||\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $allow_ips ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> in_array\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REMOTE_ADDR'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], $allow_ips, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'LOGIN_PAGE_FILE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">basename\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'SCRIPT_FILENAME'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'LOGIN_CREDENTIAL'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">hash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'sha512'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'HTTP_HOST'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">':'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'DOCUMENT_ROOT'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    require_once\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> dirname\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">__FILE__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'\u002Fapp\u002Fwp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">} \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    require_once\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> dirname\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">__FILE__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> '\u002Fapp\u002Fwp-load.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    global\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $wp_query;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $wp_query\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">set_404\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    status_header\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'404'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    nocache_headers\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    include\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_query_template\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'404'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　これで、\u003Ccode>https:\u002F\u002F{Site_Domain_Name}\u002Fentrance.php\u003C\u002Fcode>が新たなログイン画面となる。しかし、このままではまだログインできないので、\u003Ccode>conceal.php\u003C\u002Fcode>に下記のフィルターフックとアクションフックを追加する必要がある。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F WordPressインストールディレクトリの定義\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">$_wp_install_dir \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> trim\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'DOCUMENT_ROOT'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">ABSPATH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">$_wp_install_dir \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_wp_install_dir ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> '\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> :\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">defined\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'WP_INSTALL_DIR'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">or\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'WP_INSTALL_DIR'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $_wp_install_dir );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F 新しいログインページのファイル名を定義\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">defined\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'LOGIN_PAGE_FILE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">or\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'LOGIN_PAGE_FILE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'entrance.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'login_url'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $login_url, $redirect, $force_reauth ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $login_url \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $login_url );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $login_url;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'logout_url'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $logout_url, $redirect ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $logout_url \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $logout_url );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $logout_url;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">2\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'register_url'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $url ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $url \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $url );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $url;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpassword_url'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $url ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $url \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $url );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $url;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'site_url'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $url, $path, $orig_scheme, $blog_id ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $path \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">===\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> &#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">is_user_logged_in\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">||\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> strpos\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_URI'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!==\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> false\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $url \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $path, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $url );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $url;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">4\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'wp_redirect'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $location, $status ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">strpos\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_URI'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!==\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> false\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $location \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $location );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $location;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">2\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_action\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'login_init'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">    \u002F\u002F 新ログインページを認証\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> defined\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'LOGIN_CREDENTIAL'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">||\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> hash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'sha512'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'HTTP_HOST'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">':'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'DOCUMENT_ROOT'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!==\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> LOGIN_CREDENTIAL\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">        status_header\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">404\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">});\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　これで\u003Ccode>entrance.php\u003C\u002Fcode>でWordPressにログイン（ログアウト、登録、パスワードリマインドも可能）ができるようになった。この方法のメリットは設定が簡単なことと、新たにログイン画面としたphpファイルが従来の\u003Ccode>wp-login.php\u003C\u002Fcode>と同じように取り扱えるため、例えWordPressコアがアップデートされたとしてもそのまま運用していける点だ。反面、この新ログイン画面は実体はあくまで\u003Ccode>wp-login.php\u003C\u002Fcode>なので、\u003Ccode>wp-login.php\u003C\u002Fcode>における数々の制約もそのまま継承される。これがデメリットでもあり、基本的にWordPressの\u003Ccode>wp-login.php\u003C\u002Fcode>はテーマから独立しているコアファイルの一種であるため、かなりカスタマイズがしにくい特性を持っている。PHPファイル内でページのHTML生成も行われるため、コアソースに手を加えずにログインフォーム等のUIを変更するのには限界があるのだ。\u003Cbr \u002F>\n　WordPressにログインできるユーザがWeb担当者だけなどの限定的なメンバーに限られる場合など、ログイン画面自体の見た目まで隠蔽する必要がないのであれば、この方法で十分目的を達成できるだろう。しかし、不特定多数のユーザを登録・ログインさせるようなサブスクライブ型のサイトでは、この方法だけでのサイト秘匿化は完全ではないためおすすめできない。\u003C\u002Fp>\n\u003Ch2>WordPressの固定ページとして新しいログイン画面を作る\u003C\u002Fh2>\n\u003Cp>　前項で設置した新たなログイン用URLをさらにラップする形で、公開用のログイン画面を作っていこう。正確にはログイン用のフォームを備えた固定ページを作成して、そのページをログイン画面として代替利用するのだ。これによって、カスタマイズし難い\u003Ccode>wp-login.php\u003C\u002Fcode>のような制約を受けることなくログイン画面を自由にカスタマイズできるようになる。\u003Cbr \u002F>\n　一方で、ログイン画面を公開するということは、その画面に対しての第三者からの攻撃を回避できなくなることでもあるため、サイト自体のセキュリティ性は低下してしまう。この点は\u003Ccode>wp-login.php\u003C\u002Fcode>の秘匿化効果とは別軸の問題ではあるが、そのデメリットを理解したうえでログイン画面の公開はするべきである。\u003C\u002Fp>\n\u003Cp>　まず、WordPressにログインしたら、「固定ページ」を「新規追加」する。今回のチェレンジでは、ページのタイトルを「サインイン」に、URLスラッグを\u003Ccode>signin\u003C\u002Fcode>とした。この固定ページを公開すると、\u003Ccode>https:\u002F\u002F{Site_Domain_Name}\u002Fsignin\u002F\u003C\u002Fcode>でこのページにアクセスできるようになる。これが新しく公開するログイン画面となるのだ。\u003Cbr \u002F>\n　さて次に、この新ログイン画面の固定ページにログイン用のフォーム等を設置する。この設置方法は様々あるが、今回はブロック方式とテンプレート方式の2通りを紹介しよう。\u003C\u002Fp>\n\u003Ch3>カスタムブロックとしてログインフォームを設置する\u003C\u002Fh3>\n\u003Cp>　まず一つ目は、WordPress 5.x以降で実装された新エディタ「\u003Cstrong>Gutenberg\u003C\u002Fstrong>」のブロック機能を使用してログイン用の固定ページにログインフォームを設置していくやり方だ。\u003Cbr \u002F>\n　自分でオリジナルのカスタムブロック定義用のJavaScriptを準備して追加しても良いが、ReactやJSX記法の知見が必要になって来るうえに結構手間なので、今回のチャレンジではプラグインを使ってGutenbergのカスタムブロックを拡張する。早速、プラグイン「\u003Ca href=\"https:\u002F\u002Fja.wordpress.org\u002Fplugins\u002Fadvanced-gutenberg\u002F\">Advanced Gutenberg\u003C\u002Fa>」をインストールして、有効化しよう。\u003Cbr \u002F>\n　すると、投稿編集時に追加できるブロックに「Advanced Gutenberg」カテゴリが増えるので、そこから「Login\u002FRegister Form」を選ぶ（下図参照）。\u003C\u002Fp>\n\u003Cp>\u003Cimg data-recalc-dims=\"1\" decoding=\"async\" src=\"\u002Fassets\u002Fuploads\u002F2020\u002F03\u002F7c8d842f297ce7c29d50a3c327fbba3b.png\" alt=\"Advanced Gutenberg: blocks\" \u002F>\u003C\u002Fp>\n\u003Cp>　あとは、適宜入力フィールドのラベル名などを必要に応じて変更すればOkだ。実際のフロントエンド側に表示されるページを確認してみると、下図のように表示されるはずだ。\u003C\u002Fp>\n\u003Cp>\u003Cimg data-recalc-dims=\"1\" decoding=\"async\" src=\"\u002Fassets\u002Fuploads\u002F2020\u002F03\u002F2ff4f71a271bfc1b9db18036d0f53684.png\" alt=\"Advanced Gutenberg: Login Form\" \u002F>\u003C\u002Fp>\n\u003Cp>　これで、この固定ページからWordPressにログインできるようになる。ただ、ユーザ登録やログアウト、パスワードリマインダの処理は不完全なので、それらの画面用の対応が必要になる。それぞれの対応方法も紹介しておこう。\u003C\u002Fp>\n\u003Ch4>ログインおよびログアウトのリダイレクト先の調整\u003C\u002Fh4>\n\u003Cp>　新しいログイン画面でログインを行うと、ログイン完了後に管理画面にリダイレクトされない（Adminbarは表示されるので、そこから管理画面へ遷移することは可能）。また、管理画面からログアウトした時は、\u003Ccode>entrance.php\u003C\u002Fcode>へリダイレクトされてしまい、ラップされている\u003Ccode>wp-login.php\u003C\u002Fcode>が表示されてしまう。これらのリダイレクト先を制御するために、\u003Ccode>conceal.php\u003C\u002Fcode>へ下記のフィルターを追加しよう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'login_redirect'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to, $request, $user ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $user\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">roles ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> is_array\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $user\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">roles ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">in_array\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'administrator'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $user\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">roles, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            return\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'\u002Fwp-admin'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            return\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $redirect_to;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'logout_redirect'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to, $request, $user ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　これで、管理者ユーザがログインした時は管理画面へ、それ以外のユーザがログインした時はWebサイトのホームURLへそれぞれリダイレクトされるようになる。また、ログアウト時はすべてのユーザがホームURLへリダイレクトされる。\u003Cbr \u002F>\n　このリダイレクト先をカスタマイズすれば、特定ユーザのみログイン後はプロフィール画面へ飛ばすということ等も可能である。\u003C\u002Fp>\n\u003Ch4>ユーザ登録時のリダイレクト処理の調整\u003C\u002Fh4>\n\u003Cp>　\u003Ccode>wp-login.php\u003C\u002Fcode>でのユーザ登録におけるリダイレクトは、アカウント存在チェックやユーザ作成の処理にてエラーになった際に画面出力を伴う仕様になっているため、リダイレクトだけを分離することができない。そこで、ユーザ登録のコア処理が開始する前にアクションフックで独自のルーティングを挿入する必要がある（ここら辺が、\u003Ccode>wp-login.php\u003C\u002Fcode>のカスタマイズが難しい所以だ）。下記のアクションフックを\u003Ccode>conceal.php\u003C\u002Fcode>に追加しよう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_action\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'login_form_register'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $http_post \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'POST'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ===\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_METHOD'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $http_post ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> is_string\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $user_login \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">];\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> is_string\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $user_email \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> wp_unslash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $errors \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> register_new_user\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $user_login, $user_email );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> is_wp_error\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">            \u002F\u002F Redirection after completing to register user\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'register-complete'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">            wp_safe_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    wp_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_SLUG\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'\u002F?login=failed'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">});\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　簡単に説明すると、\u003Ccode>wp-login.php\u003C\u002Fcode>のユーザ登録処理を前倒しして\u003Ccode>login_form_register\u003C\u002Fcode>フックで行い、処理結果にてリダイレクトを行って、後続のコア処理をスキップさせるという建て付けだ。ただし、この対応だけでは「Advanced Gutenberg」プラグインのブロック側で、登録処理のエラーをキャッチできないので、エラー表示が正常にできないという問題は残る。これを改善するには「Advanced Gutenberg」プラグイン側の改修が必要になってくるが、それは今回のチャレンジの本筋ではないので除外する。\u003Cbr \u002F>\n　さらに、WordPressのユーザ登録は初めにユーザ名とメールアドレスのみ認証し、認証完了後にログインパスワード設定用URLが記載されたメールを送信する仕様になっている。そのメールに記載されるURLもフィルタリングしておかないと、アクセスができない\u003Ccode>wp-login.php\u003C\u002Fcode>のURLがメール通知されてしまい、誰もユーザ登録できない状況となってしまうのだ。\u003Cbr \u002F>\n　まず、ユーザアカウントの認証完了画面へリダイレクトさせる必要がある（前述のソースの\u003Ccode>home_url( 'register-complete' )\u003C\u002Fcode>の部分）ので、固定ページとして作成しよう。注意点としては、作成したページのURLスラッグをソース内に定義した値と同じく\u003Ccode>register-complete\u003C\u002Fcode>にしておく必要があることだ。これで、ユーザ登録が成功すると下図のような画面にリダイレクトされるようになる。\u003C\u002Fp>\n\u003Cp>\u003Cimg data-recalc-dims=\"1\" decoding=\"async\" src=\"\u002Fassets\u002Fuploads\u002F2020\u002F03\u002F3a70ed2888c89b098486a8477b0445be.png\" alt=\"Advanced Gutenberg: Register Complete\" \u002F>\u003C\u002Fp>\n\u003Cp>　次に、認証メールに記載されるURLをフィルタする。\u003Ccode>conceal.php\u003C\u002Fcode>に下記を追加しよう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'wp_new_user_notification_email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $wp_new_user_notification_email, $user, $blogname ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">    \u002F\u002F 登録時パスワード設定用メールの本文をフィルタ\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $wp_new_user_notification_email );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　さらに、認証メールからアクセスされるパスワード設定画面のルーティングを行う。固定ページとして、パスワード設定用のURLスラッグが\u003Ccode>set-new-password\u003C\u002Fcode>のページとパスワード変更完了画面となるURLスラッグが\u003Ccode>reset-password-complete\u003C\u002Fcode>のページをそれぞれ作成する。本来、パスワード設定用の\u003Ccode>set-new-password\u003C\u002Fcode>のページにはパスワード入力フォームが必要なのだが、「Advanced Gutenberg」プラグインを使ってもこのフォームは作れないので、別に用意することにする。とりあえず、本文には通知メッセージと後ほどフォームを挿入するための枠だけを「カスタムHTML」ブロックで追加しておこう（下図参照）。\u003C\u002Fp>\n\u003Cp>\u003Cimg data-recalc-dims=\"1\" decoding=\"async\" src=\"\u002Fassets\u002Fuploads\u002F2020\u002F03\u002F8322c564b0c57755384b9d10d10818e2.png\" alt=\"Gutenberg Block Editor: set-new-password page\" \u002F>\u003C\u002Fp>\n\u003Cp>　パスワード設定画面用のルーティングは、パスワードのバリデーション直前のアクションフック\u003Ccode>validate_password_reset\u003C\u002Fcode>に対して行う。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_action\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'validate_password_reset'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors, $user ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    list\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $rp_path ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> explode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'?'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">wp_unslash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_URI'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $rp_cookie       \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-resetpass-'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">has_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass1'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass1'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">        reset_password\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $user, $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass1'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">        setcookie\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $rp_cookie, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">' '\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">time\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> YEAR_IN_SECONDS\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $rp_path, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">COOKIE_DOMAIN\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">is_ssl\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(), \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">        wp_safe_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'reset-password-complete'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_COOKIE[ $rp_cookie ] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> strpos\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_COOKIE[ $rp_cookie ], \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">':'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">            list\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $rp_login, $rp_key ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> explode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">':'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">wp_unslash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_COOKIE[ $rp_cookie ] ), \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">2\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">        wp_safe_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'set-new-password\u002F?rp_login='\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $rp_login \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x26;rp_key='\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $rp_key ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">2\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　これで、認証メールのURLからアクセスすると固定ページの\u003Ccode>https:\u002F\u002F{Site_Domain_Name}\u002Fset-new-password\u002F\u003C\u002Fcode>にリダイレクトされるようになる。仕上げとして、この固定ページに新規パスワード入力用のフォームを追加しよう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'the_content'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $content ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">is_page\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'set-new-password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $action_url  \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> '?action=resetpass'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $rp_login    \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_attr\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_GET[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'rp_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $rp_key      \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_attr\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_GET[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'rp_key'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $label_pass1 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'New password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $label_pass2 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Confirm new password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $label_submit\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Reset Password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $resetpassform \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> &#x3C;&#x3C;&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">EOD\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">&#x3C;form name=\"resetpassform\" id=\"resetpassform\" action=\"{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$action_url\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}\" method=\"post\" autocomplete=\"off\">\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;input type=\"hidden\" id=\"user_login\" value=\"{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$rp_login\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}\">\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;div>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    &#x3C;label for=\"pass1\">{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$label_pass1\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}&#x3C;\u002Flabel>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    &#x3C;input type=\"password\" name=\"pass1\" id=\"pass1\" size=\"24\" value=\"\" autocomplete=\"off\">\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;\u002Fdiv>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;div>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    &#x3C;label for=\"pass2\">{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$label_pass2\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}&#x3C;\u002Flabel>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    &#x3C;input type=\"password\" name=\"pass2\" id=\"pass2\" size=\"24\" value=\"\" autocomplete=\"off\">\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;\u002Fdiv>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;br>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;input type=\"hidden\" name=\"rp_key\" value=\"{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$rp_key\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}\">\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;div>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    &#x3C;button type=\"submit\">{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$label_submit\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}&#x3C;\u002Fbutton>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;\u002Fdiv>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">&#x3C;\u002Fform>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">EOD\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $content \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;form id=\"resetpassform\">&#x3C;\u002Fform>'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $resetpassform, $content );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $content;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">});\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　これで、正常系のユーザ登録が可能になる。エラー時のルーティングは別途設定しないといけないが、ここまでのカスタマイズ手順とほぼ同じようなやり方で出来るはずだ。\u003C\u002Fp>\n\u003Ch4>パスワード再設定のリダイレクト処理の調整\u003C\u002Fh4>\n\u003Cp>　最後に、「パスワードをお忘れですか？」のリンクから辿るパスワード再設定のルーティングを調整していく。まず、パスワード再設定用の画面を固定ページで作成しよう。今回のチャレンジでは\u003Ccode>lostpassword\u003C\u002Fcode>というURLスラッグで作成する。このページも後ほど入力フォームを埋め込むので、「カスタムHTML」ブロックでフォーム枠だけ追加しておく（下図参照）。\u003C\u002Fp>\n\u003Cp>\u003Cimg data-recalc-dims=\"1\" decoding=\"async\" src=\"\u002Fassets\u002Fuploads\u002F2020\u002F03\u002F4a15192ef67698472ea09ae99d59a61a.png\" alt=\"Gutenberg Block Editor: lostpassword page\" \u002F>\u003C\u002Fp>\n\u003Cp>　そして、パスワード再設定用のルーティングを追加する。これは\u003Ccode>conceal.php\u003C\u002Fcode>に\u003Ccode>login_form_lostpassword\u003C\u002Fcode>と\u003Ccode>lost_password\u003C\u002Fcode>の２つのアクションフックを利用する。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_action\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'login_form_lostpassword'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $http_post \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'POST'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ===\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_METHOD'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $http_post ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $errors \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> retrieve_password\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> is_wp_error\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">            \u002F\u002F Redirection after completing to validate user\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpassword-comfirm'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">            wp_safe_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">        wp_safe_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">wp_unslash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpassword\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_URI'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">});\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_action\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lost_password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $lostpassword_redirect \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> apply_filters\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpassword_redirect'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $lostpassword_redirect );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $get_queries \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [];\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $get_queries[] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'redirect_to='\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">has_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $get_queries[] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'error='\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_attr\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_error_code\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    wp_safe_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpassword\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $get_queries ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> '?'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> implode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x26;'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $get_queries ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;    \u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　次に、パスワード再設定の固定ページに入力フォームを埋め込む。前項で追加した\u003Ccode>the_content\u003C\u002Fcode>フィルターフックを次のように拡張しよう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'the_content'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $content ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">is_page\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'set-new-password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        (\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">...\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">省略\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">...\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">is_page\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpassword'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'error'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'error'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            switch\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'error'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                case\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'empty_username'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                    $message \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: Enter a username or email address.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    break\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                case\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'invalid_email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                    $message \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: There is no account with that username or email address.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    break\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                case\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'invalidkey'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                    $message \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Your password reset link appears to be invalid. Please request a new link below.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    break\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                case\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'expiredkey'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                    $message \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Your password reset link has expired. Please request a new link below.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    break\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                default\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                    $message \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    break\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $error \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> sprintf\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;div>&#x3C;p class=\"error\">%s&#x3C;\u002Fp>&#x3C;\u002Fdiv>'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $message );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $action_url  \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> '?action=lostpassword'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $label_user_login \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Username or Email Address'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $user_login \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_attr\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> is_string\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> wp_unslash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $lostpassword_redirect \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $label_submit\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Get New Password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $lostpasswordform \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> &#x3C;&#x3C;&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">EOD\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$error\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">&#x3C;form name=\"lostpasswordform\" id=\"lostpasswordform\" action=\"{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$action_url\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}\" method=\"post\">\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;input type=\"hidden\" id=\"user_login\" value=\"{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$rp_login\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}\">\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;div>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    &#x3C;label for=\"user_login\">{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$label_user_login\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}&#x3C;\u002Flabel>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    &#x3C;input type=\"text\" name=\"user_login\" id=\"user_login\" value=\"{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$user_login\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}\" size=\"20\" autocapitalize=\"off\" \u002F>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;\u002Fdiv>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;br>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;input type=\"hidden\" name=\"redirect_to\" value=\"{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$lostpassword_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}\">\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;div>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    &#x3C;button type=\"submit\">{\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$label_submit\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">}&#x3C;\u002Fbutton>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  &#x3C;\u002Fdiv>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">&#x3C;\u002Fform>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">EOD\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $content \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;form id=\"lostpasswordform\">&#x3C;\u002Fform>'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $lostpasswordform, $content );       \u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $content;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　最後に、パスワード再設定でユーザ認証が成功した時に送信されるメールに記載されるパスワード再設定用のURLをフィルタリングする必要がある。これは、\u003Ccode>retrieve_password_message\u003C\u002Fcode>のフィルターフックを追加して対応できる。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'retrieve_password_message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $message, $key, $user_login, $user_data ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">    \u002F\u002F パスワード変更時メールの本文をフィルタ\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $message \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $message );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $message;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">4\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　これで完了だ。\u003C\u002Fp>\n\u003Ch3>テンプレートをインクルードしてログインフォームを設置する\u003C\u002Fh3>\n\u003Cp>　もう一つのやり方として、使用しているテーマ側にログインフォーム用のページテンプレートファイルを準備し、ログイン用の固定ページ専用のテンプレートとして設定する方法も紹介しよう。こちらは「Gutenberg」のブロックエディタに依存せずに、テーマ側でPatialテンプレートを管理できる従来のやり方に近いので、カスタマイズの柔軟性は高いかもしれない。\u003Cbr \u002F>\n　まず、テーマ側にテンプレートファイルを追加する必要があるので、ログインフォーム拡張用にテンプレートを格納するディレクトリを追加しよう。今回のチャレンジは\u003Ccode>TwentyTwenty\u003C\u002Fcode>のテーマを使用しているので、そのテーマディレクトリ内に新たに\u003Ccode>partials\u003C\u002Fcode>のディレクトリを作ることにする。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">$\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> cd\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> {Document_Root_Path}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">$\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> cd\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> assets\u002Fthemes\u002Ftwentytwenty\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">$\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> mkdir\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> -p\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> partials\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　新設した\u003Ccode>partials\u003C\u002Fcode>ディレクトリ内にはログインフォーム拡張用のテンプレートを作成する。必要なのは、ログインフォーム、登録フォーム、パスワード設定フォーム、パスワード再設定フォーム（パスワードリマインダ）、メッセージ通知用ページの5つだ。それぞれ\u003Ccode>login-form.php\u003C\u002Fcode>、\u003Ccode>register-form.php\u003C\u002Fcode>、\u003Ccode>rp-form.php\u003C\u002Fcode>、\u003Ccode>lostpass-form.php\u003C\u002Fcode>、\u003Ccode>notices.php\u003C\u002Fcode>として作成する。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">$\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> touch\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> partials\u002F{{login,register,rp,lostpass}-form,notices}.php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">$\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ls\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> partials\u002F\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">login-form.php\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">  lostpass-form.php\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">  notices.php\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">  register-form.php\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">  rp-form.php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　これで準備完了だ。あとはそれぞれのテンプレートファイルに表示するコンテンツをコーディングしていくことになる。\u003C\u002Fp>\n\u003Ch4>ログインフォームをテンプレートから読み込む\u003C\u002Fh4>\n\u003Cp>　それでは、実際にログインフォーム用のテンプレート\u003Ccode>partials\u002Flogin-form.php\u003C\u002Fcode>をインクルードする方式でログインフォームを実装してみよう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F*\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">Template Name: Login Form\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">*\u002F\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">get_header\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">main\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"site-content\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> role\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"main\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"entry-content\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">h2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"has-text-align-center\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Sign In'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">h2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> get_template_part\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'partials\u002Fnotices'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">form\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"loginform\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"loginform\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> action\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> method\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"post\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> for=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_login\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Username or Email Address'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"text\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"log\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_login\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"input\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= isset( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_POST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['log'] ) ? esc_attr( wp_unslash( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_POST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['log'] ) ) : ''; ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> size\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"20\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> autocapitalize\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"off\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> for=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_pass\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"password\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pwd\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_pass\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"input password-input\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> size\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"20\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"forgetmenot\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"rememberme\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"checkbox\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"rememberme\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"forever\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> &#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> checked\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'rememberme'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> for=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"rememberme\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_html__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Remember Me'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"login_submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"login_submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"button button-primary button-large\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr__( 'Log In' ) ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"hidden\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"redirect_to\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= isset( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_REQUEST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['redirect_to'] ) ? esc_attr( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_REQUEST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['redirect_to'] ) : ''; ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"hidden\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"testcookie\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"1\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">form\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"nav\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_GET[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'checkemail'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">||\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> in_array\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_GET[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'checkemail'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], [ \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'confirm'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'newpass'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ], \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">     if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_option\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'users_can_register'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> href\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( wp_registration_url() ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Register'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">span\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>|&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">span\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">     endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> href\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( wp_lostpassword_url() ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Lost your password?'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">main\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">get_footer\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　次に、このテンプレートを使用した固定ページを作成する。タイトルを「サインイン」、URLスラッグを\u003Ccode>signin\u003C\u002Fcode>、ページ属性のテンプレートを「Login Form」とする。本文など他の設定は不要だ。\u003Cbr \u002F>\n　そして、\u003Ccode>conceal.php\u003C\u002Fcode>にこのページをログインフォームとして取り扱うルーティング（ログインとログアウトそれぞれのルーティング）を設定する。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'login_url'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $login_url, $redirect, $force_reauth ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'signin\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'logout_url'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $logout_url, $redirect ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $logout_url );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">2\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'login_redirect'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to, $request, $user ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $user\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">roles ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> is_array\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $user\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">roles ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">in_array\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'administrator'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $user\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">roles, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'\u002Fwp-admin'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $redirect_to;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'wp_login_errors'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors, $redirect_to ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">is_wp_error\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $query_str \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">has_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $code_hash \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> array_map\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code ){ \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">return\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> hash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'crc32b'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $_code ); }, $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_error_codes\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $query_str \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> '?'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> http_build_query\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( [ \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'cd'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> implode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">','\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $code_hash ) ] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">        header\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Location: '\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'signin\u002F?'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $query_str ), \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">307\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $errors;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">2\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'logout_redirect'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to, $request, $user ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　特殊な点としては、ログインエラー時のルーティングとして、ハッシュ化したエラーコードをGETパラメータに付与して、POST値は継承したまま307リダイレクトさせているところだ。そして、エラーコードのキャッチとエラー出力はメッセージ通知用ページとして準備した\u003Ccode>partials\u002Fnotices.php\u003C\u002Fcode>が担うようになっている。メッセージ通知用テンプレート\u003Ccode>partials\u002Fnotices.php\u003C\u002Fcode>は下記のように記述しよう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F*\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">Template Name: Notices\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">*\u002F\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">global\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $errors;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> is_wp_error\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $errors \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> new\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> WP_Error\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">function_exists\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'set_custom_errors'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    set_custom_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"notification\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">has_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">ul\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= empty( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">get_error_data\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">() ) ? 'errors' : 'notices' ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">   foreach\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_error_codes\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">as\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $code ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">          foreach\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_error_messages\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $code ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">as\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $message ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">li\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"message\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $message \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">li\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">     endforeach\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        endforeach\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">ul\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> else\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> :\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> the_content\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　テンプレートでは、GETパラメータ等のREQUESTクエリから通知メッセージを取得して出力用にセットする関数\u003Ccode>set_custom_errors()\u003C\u002Fcode>を呼ぶようにしている。その関数は\u003Ccode>conceal.php\u003C\u002Fcode>に定義する。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F Define notification messages related user authentication to the WP_Error\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> set_custom_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    global\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $errors;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">    \u002F\u002F Custom notification messages\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $_messages \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'empty_username'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">          =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: Please enter a username.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'empty_email'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">             =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: Please type your email address.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'emptycombo'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">              =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: Please enter a username or email address.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'invalid_username'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">        =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: Sorry, that username is not allowed.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'invalid_email'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">           =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: The email address isn’t correct.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'invalidcombo'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">            =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: There is no account with that username or email address.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'username_exists'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">         =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: This username is invalid because it uses illegal characters. Please enter a valid username.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'email_exists'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">            =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: This email is already registered, please choose another one.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'invalidkey'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">              =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Your password reset link appears to be invalid. Please request a new link below.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'expiredkey'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">              =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Your password reset link has expired. Please request a new link below.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'password_reset_mismatch'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'The passwords do not match.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'test_cookie'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">             =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">sprintf\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: Cookies are blocked or not supported by your browser. You must &#x3C;a href=\"%s\">enable cookies&#x3C;\u002Fa> to use WordPress.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'#'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'expired'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">                 =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Your session has expired. Please log in to continue where you left off.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'loggedout'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">               =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'You are now logged out.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'registerdisabled'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">        =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'User registration is currently not allowed.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'confirm'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">                 =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Check your email for the confirmation link.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'newpass'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">                 =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Check your email for your new password.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'registered'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">              =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Registration complete. Please check your email.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'updated'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">                 =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>You have successfully updated WordPress!&#x3C;\u002Fstrong> Please log back in to see what’s new.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'enter_recovery_mode'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">     =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Recovery Mode Initialized. Please log in to continue.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'empty_password'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">          =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: Please enter a password.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'empty_confirm_password'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">  =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: Please enter a password of confirmation.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'incorrect_password'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">      =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'&#x3C;strong>Error&#x3C;\u002Fstrong>: Sorry, that password is not allowed.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'reseted_password'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">        =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">sprintf\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'A new password has been set. From this on, you can &#x3C;a href=\"%s\">sign in&#x3C;\u002Fa> using your new password.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">wp_login_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        'invalid_access'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">          =>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [ \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'The page could not be displayed due to invalid access. Please check the URL again.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ), \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    ];\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'cd'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'cd'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $_codes \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> explode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">','\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">trim\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'cd'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        foreach\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $_messages \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">as\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_code \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=>\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_data ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">            \u002F\u002F$_code_hash = hash( 'crc32b', $_code );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $_code_hash \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> short_hash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">in_array\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code_hash, $_codes, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">add\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code, $_messages[$_code][\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], $_messages[$_code][\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">1\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'checkemail'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'checkemail'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $_code \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> wp_unslash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">trim\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'checkemail'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">array_key_exists\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code, $_messages ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">add\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $error_code, $_messages[$_code][\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], $_messages[$_code][\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">1\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $_code \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'reseted_password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">add\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code, $_messages[$_code][\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], $_messages[$_code][\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">1\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">has_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        foreach\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_error_codes\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">as\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_code ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">add\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code, $_messages[$_code][\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], $_messages[$_code][\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">1\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $errors \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> apply_filters\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'custom_notification_messages'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $errors, $_REQUEST );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　関数内に最終的な出力用メッセージをフィルターできる\u003Ccode>custom_notification_messages\u003C\u002Fcode>を準備しておくと、出力メッセージ個別のカスタマイズが可能になる。これで、ログインフォームでエラーが発生した時にエラーメッセージが表示されるようになった。\u003C\u002Fp>\n\u003Ch4>登録フォームをテンプレートから読み込む\u003C\u002Fh4>\n\u003Cp>　基本的にやり方はログインフォームと同等だ。まず、登録フォーム用のテンプレート\u003Ccode>partials\u002Fregister-form.php\u003C\u002Fcode>を下記のように更新する。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F*\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">Template Name: Register Form\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">*\u002F\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">get_header\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">main\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"site-content\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> role\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"main\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"entry-content\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">h2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"has-text-align-center\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Sign Up'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">h2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> get_template_part\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'partials\u002Fnotices'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">form\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"registerform\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"registerform\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> action\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( site_url( 'wp-login.php?action=register', 'login_post' ) ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> method\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"post\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> novalidate\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"novalidate\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> for=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_login\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> _e\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Username'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"text\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_login\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_login\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"input\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= isset( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_POST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['user_login'] ) ? esc_attr( wp_unslash( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_POST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['user_login'] ) ) : ''; ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> size\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"20\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> autocapitalize\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"off\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> for=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_email\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> _e\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"email\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_email\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_email\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"input\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= isset( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_POST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['user_email'] ) ? esc_attr( wp_unslash( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_POST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['user_email'] ) ) : ''; ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> size\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"25\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"reg_passmail\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Registration confirmation will be emailed to you.'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">br\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"clear\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> \u002F>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"hidden\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"redirect_to\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= isset( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_REQUEST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['redirect_to'] ) ? esc_attr( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_REQUEST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['redirect_to'] ) : ''; ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"wp-submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"wp-submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"button button-primary button-large\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr__( 'Register' ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">form\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"nav\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> href\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( wp_login_url() ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Log in'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">span\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>|&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">span\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> href\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( wp_lostpassword_url() ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Lost your password?'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">main\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">get_footer\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　次に、このテンプレートを使用した固定ページを作成する。タイトルを「サインアップ」、URLスラッグを\u003Ccode>signup\u003C\u002Fcode>、ページ属性のテンプレートを「Register Form」とする。本文など他の設定は不要だ。\u003Cbr \u002F>\n　そして、\u003Ccode>conceal.php\u003C\u002Fcode>にこのページを登録フォームとして取り扱うルーティングを設定する。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'register_url'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $url ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'signup\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_action\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'login_form_register'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $http_post \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'POST'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ===\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_METHOD'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $http_post ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> is_string\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $user_login \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_login'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">];\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> is_string\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $user_email \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> wp_unslash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user_email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">        \u002F\u002F Execute new user registration\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $errors \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> register_new_user\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $user_login, $user_email );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> is_wp_error\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            global\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $errors;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $errors \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> new\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> WP_Error\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'registered'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'signin\u002F?checkemail=registered'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $query_str \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">has_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                $code_hash \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> array_map\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code ){ \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">return\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> hash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'crc32b'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $_code ); }, $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_error_codes\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                $query_str \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> '?'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> http_build_query\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( [ \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'cd'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> implode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">','\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $code_hash ) ] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'signup\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $query_str );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">            header\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Location: '\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $redirect_to, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">307\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    wp_safe_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">});\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　ユーザー登録時、認証メールが登録したメールアドレスに送信され、そのメール内に記載されているURLからログイン用のパスワード設定を行うルーティングになっている。なので、メール内のURLも下記のようにフィルターしておこう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'wp_new_user_notification_email'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $wp_new_user_notification_email, $user, $blogname ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( [ \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ], \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $wp_new_user_notification_email );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　次に、ユーザー登録後の認証メールからアクセスするパスワード設定周りを作っていく。パスワード設定用のテンプレートは\u003Ccode>partials\u002Frp-form.php\u003C\u002Fcode>であり、この中身は次のようにする。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F*\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">Template Name: Reset Password\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">*\u002F\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_COOKIE[ \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'rp-'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> strpos\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_COOKIE[ \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'rp-'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ], \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">':'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    list\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $rp_login, $rp_key, $is_set_new_passwd ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> explode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">':'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">wp_unslash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_COOKIE[ \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'rp-'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ] ), \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">$is_set_new_passwd \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">bool\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">) $is_set_new_passwd;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">$is_invalid_access \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $rp_login ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">||\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $rp_key ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">$page_title \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $is_set_new_passwd \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Set New Password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Reset Password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'reseted'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ===\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $page_title \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'New password has been set'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">} \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $is_invalid_access ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    global\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $errors;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $page_title \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Invalid Access'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $errors \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> new\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> WP_Error\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'invalid_access'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">$submit_label \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $is_set_new_passwd \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Set Password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Reset Password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">$use_pass_strength \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> false\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $use_pass_strength ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    wp_enqueue_script\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'utils'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    wp_enqueue_script\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'user-profile'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">get_header\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">main\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"site-content\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> role\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"main\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"entry-content\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> style\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"padding-top: 5rem; height: calc(100vh - 250px);\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">h2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"has-text-align-center\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $page_title \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">h2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> get_template_part\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'partials\u002Fnotices'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $is_invalid_access \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">||\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'reseted'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !==\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">form\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"resetpassform\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"resetpassform\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> action\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( network_site_url( 'wp-login.php?action=resetpass', 'login_post' ) ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> method\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"post\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> autocomplete\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"off\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"hidden\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_login\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$rp_login\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> autocomplete\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"off\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $use_pass_strength ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user-pass1-wrap\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> for=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass1\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'New password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $use_pass_strength ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"password\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass1\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass1\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"input\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> size\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"20\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> autocomplete\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"off\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $use_pass_strength ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"wp-pwd\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> style\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"display: flex; flex-direction: row;\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"password\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> data\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">reveal\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"1\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> data\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">pw\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr( wp_generate_password( 16 ) ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass1\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass1\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"input password-input\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> size\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"24\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> autocomplete\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"off\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> aria\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">describedby\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass-strength-result\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">button\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"button\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"button button-secondary wp-hide-pw hide-if-no-js\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> data\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">toggle\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"0\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> aria\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr__( 'Hide password' ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                            &#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> esc_attr__\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Hide password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">button\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass-strength-result\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"hide-if-no-js\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> aria\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">live\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"polite\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Strength indicator'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pw-weak\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"checkbox\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pw_weak\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pw-weak\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pw-checkbox\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> for=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pw-weak\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Confirm use of weak password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user-pass2-wrap\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> else\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> :\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> for=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass2\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Confirm new password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"password\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass2\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"pass2\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"input\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> size\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"20\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> autocomplete\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"off\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"description indicator-hint\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> wp_get_password_hint\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">br\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"hidden\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"rp_key\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$rp_key\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $is_set_new_passwd ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"hidden\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"new_passwd\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"1\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"wp-submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"wp-submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"button button-primary button-large\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$submit_label\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">form\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"nav\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> style\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"text-align: right; font-size: 1.6rem;\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> href\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( wp_login_url() ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Sing in'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_option\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'users_can_register'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $is_set_new_passwd ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">span\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>|&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">span\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> href\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( wp_registration_url() ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Register'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">main\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">get_footer\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　パスワード脆弱性検証器を利用する場合は、変数\u003Ccode>$use_pass_strength = true;\u003C\u002Fcode>とフラグを切り替える。しかし、この機能は依存系のJavaScriptの読み込みにおいて、前章で施策した秘匿化が一部効かないので、別途スクリプトのパスをフィルターしてやる必要がある。面倒なので、今回の例では使用しないようにしてある。\u003C\u002Fp>\n\u003Cp>　次に、このテンプレートを使用した固定ページを作成する。タイトルを「リセットパスワード」、URLスラッグを\u003Ccode>resetpass\u003C\u002Fcode>、ページ属性のテンプレートを「Reset Password」とする。本文など他の設定は不要だ。\u003Cbr \u002F>\n　そして、\u003Ccode>conceal.php\u003C\u002Fcode>にこのページを取り扱うルーティングを設定する。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_action\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'validate_password_reset'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors, $user ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $http_post \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'POST'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ===\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_METHOD'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    list\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $rp_path ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> explode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'?'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">wp_unslash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_URI'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $rp_cookie       \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-resetpass-'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">has_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass1'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass1'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">        reset_password\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $user, $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass1'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">        setcookie\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $rp_cookie, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">' '\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">time\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> YEAR_IN_SECONDS\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $rp_path, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">COOKIE_DOMAIN\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">is_ssl\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(), \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">        setcookie\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'rp-'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">' '\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">time\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> YEAR_IN_SECONDS\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'resetpass\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">COOKIE_DOMAIN\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">is_ssl\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(), \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'resetpass\u002F?password=reseted'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $is_set_new_passwd \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'rp'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ===\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_GET[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'action'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">||\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'new_passwd'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_COOKIE[ $rp_cookie ] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> strpos\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_COOKIE[ $rp_cookie ], \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">':'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $value \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_COOKIE[ $rp_cookie ] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">':'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $is_set_new_passwd \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 1\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> :\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">        setcookie\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'rp-'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $value, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'resetpass\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">COOKIE_DOMAIN\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">is_ssl\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(), \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $http_post ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass1'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">||\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass1'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">add\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'empty_password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> isset\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass2'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">||\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_POST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'pass2'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">add\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'empty_confirm_password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $code_hash \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> array_map\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code ){ \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">return\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> hash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'crc32b'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $_code ); }, $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_error_codes\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $query_str \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $code_hash ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> '?'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> http_build_query\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( [ \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'cd'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> implode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">','\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $code_hash ) ] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'resetpass\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $query_str );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    wp_safe_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">2\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　このパスワードリセット関連の仕組みは、次に説明するパスワード紛失時のパスワード再設定でも利用される。\u003C\u002Fp>\n\u003Ch4>パスワード紛失フォームをテンプレートから読み込む\u003C\u002Fh4>\n\u003Cp>　最後はパスワード紛失時のリマインダ周りを作成する。やり方は今までのフォームページと同等で、パスワード紛失フォーム用のテンプレート\u003Ccode>partials\u002Flostpass-form.php\u003C\u002Fcode>を下記のように更新する。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F*\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">Template Name: Lostpassword\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">*\u002F\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">get_header\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">main\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"site-content\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> role\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"main\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"entry-content\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> style\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"padding-top: 5rem; height: calc(100vh - 250px);\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">h2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"has-text-align-center\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Lost Password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">h2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> get_template_part\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'partials\u002Fnotices'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">form\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"lostpasswordform\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"lostpasswordform\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> action\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( network_site_url( 'wp-login.php?action=lostpassword', 'login_post' ) ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> method\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"post\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> for=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_login\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> _e\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Username or Email Address'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">label\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"text\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_login\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"user_login\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"input\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr( isset( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_POST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['user_login'] ) &#x26;&#x26; is_string( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_POST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['user_login'] ) ? wp_unslash( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_POST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['user_login'] ) : '' ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> size\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"20\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> autocapitalize\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"off\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"hidden\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"redirect_to\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr( isset( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_REQUEST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['redirect_to'] ) &#x26;&#x26; ! empty( \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_REQUEST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['redirect_to'] ) ? \u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">$_REQUEST\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">['redirect_to'] : '' ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> \u002F>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">                &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">input\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> type\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> name\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"wp-submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"wp-submit\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> class=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"button button-primary button-large\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> value\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_attr__( 'Get New Password' ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">form\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> id\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"nav\"\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> style\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"text-align: right; font-size: 1.6rem;\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> href\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( wp_login_url() ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Sing in'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ); \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_option\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'users_can_register'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">span\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>|&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">span\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> href\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"&#x3C;?= esc_url( wp_registration_url() ); ?>\"\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>&#x3C;?=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> __\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'Register'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> endif\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">p\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    &#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">div\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">main\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">get_footer\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　次に、このテンプレートを使用した固定ページを作成する。タイトルを「パスワード紛失」、URLスラッグを\u003Ccode>lostpass\u003C\u002Fcode>、ページ属性のテンプレートを「Lostpassword」とする。本文など他の設定は不要だ。\u003Cbr \u002F>\n　そして、\u003Ccode>conceal.php\u003C\u002Fcode>にこのページを取り扱うルーティングを設定する。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpassword_url'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $url ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $url \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpass\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $url;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'wp_redirect'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $location, $status ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">strpos\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $location, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'checkemail=confirm'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!==\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> false\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> &#x26;&#x26;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> strpos\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_SERVER[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'REQUEST_URI'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">], \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'action=lostpassword'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">!==\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> false\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        $location \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( [ \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ], \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpass'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $location );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $location;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">2\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_action\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lost_password'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_REQUEST[\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'redirect_to'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    $error_codes \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> [];\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">has_errors\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        foreach\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $errors\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">->\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\">get_error_codes\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">() \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">as\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_code ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'empty_username'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ===\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_code ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                $error_codes[] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'emptycombo'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">            if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'invalid_email'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> ===\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_code ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                $error_codes[] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'forced_completion'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                $error_codes[] \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $_code;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">in_array\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'forced_completion'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $error_codes, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">true\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpass\u002F?checkemail=confirm'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        } \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">else\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $code_hash \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> array_map\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code ){ \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">return\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> short_hash\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $_code ); }, $error_codes );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $query_str \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> !\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> empty\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $code_hash ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">?\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> '?'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> http_build_query\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( [ \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'cd'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> implode\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">','\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $code_hash ) ] ) \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">:\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> ''\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            $redirect_to \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> home_url\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'lostpass\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> $query_str );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    wp_safe_redirect\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $redirect_to );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    exit\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　パスワード紛失時はフォームからサブミットされると、確認メールが登録メールアドレスに送信され、そこからパスワード再設定用フォーム（ユーザ登録で作成したパスワードリセットの流れ）へルーティングされる。そのため、確認メールに記載されているURLもフィルターする必要があるので、下記のフィルターフックを追加しておこう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">add_filter\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'retrieve_password_message'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( $message, $key, $user_login, $user_data ) {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> str_replace\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( [ \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_INSTALL_DIR\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\"> 'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'wp-login.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ], \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">LOGIN_PAGE_FILE\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, $message );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">4\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　これで完了だ。いやはや、結構なボリュームの施策になった。WordPressの認証周りのカスタマイズ＆秘匿化は骨が折れるが、ここをおろそかにするとサイトの秘匿化はおよそ達成できないので気合を入れてやることが重要だ。\u003C\u002Fp>\n\u003Ch2>Cookieの秘匿化\u003C\u002Fh2>\n\u003Cp>　認証周りの秘匿化でできればやりたいのが、WordPressが発行しているCookieからWordPressの臭いを消すことだ。現状、プラグインやテーマ等で発行されるCookieを除くWordPress自体が発行するCookieは下記の通りだ。\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Cookie名\u003C\u002Fth>\n\u003Cth>期間\u003C\u002Fth>\n\u003Cth>用途\u003C\u002Fth>\n\u003Cth>対象\u003C\u002Fth>\n\u003Cth>発行場所\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>wordpress_test_cookie\u003C\u002Ftd>\n\u003Ctd>セッション\u003C\u002Ftd>\n\u003Ctd>サイトにアクセスしているブラウザがCookieを許可しているかどうかを確認する\u003C\u002Ftd>\n\u003Ctd>すべてのユーザー\u003C\u002Ftd>\n\u003Ctd>ログイン画面（wp-login.php）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>wp-settings(-time&#124;)-{user_id}\u003C\u002Ftd>\n\u003Ctd>1年\u003C\u002Ftd>\n\u003Ctd>ユーザの管理画面設定を保持する。基本的に管理画面のビューをカスタマイズするために使われるが、場合によってはメインサイトでも使われる\u003C\u002Ftd>\n\u003Ctd>ログイン中のユーザーのみ\u003C\u002Ftd>\n\u003Ctd>管理画面（\u002Fwp-admin\u002F）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>wordpress_logged_in_{hash}\u003C\u002Ftd>\n\u003Ctd>セッション（ログイン時に「ログイン状態を保存」を有効にした場合は14日）\u003C\u002Ftd>\n\u003Ctd>ほとんどのインターフェースにてログインした時刻やユーザアカウント自体を示す\u003C\u002Ftd>\n\u003Ctd>ログイン中のユーザーのみ\u003C\u002Ftd>\n\u003Ctd>ログイン画面（wp-login.php）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>wordpress_sec_{hash}\u003C\u002Ftd>\n\u003Ctd>セッション（ログイン時に「ログイン状態を保存」を有効にした場合は14日）\u003C\u002Ftd>\n\u003Ctd>管理画面用の認証Cookieで、用途は \u003Ccode>wordpress_logged_in_{hash}\u003C\u002Fcode> と同等\u003C\u002Ftd>\n\u003Ctd>ログイン中のユーザーのみ\u003C\u002Ftd>\n\u003Ctd>管理画面（\u002Fwp-admin\u002F）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>wp-resetpass-{hash}\u003C\u002Ftd>\n\u003Ctd>ワンタイム\u003C\u002Ftd>\n\u003Ctd>パスワード再設定時のリダイレクション処理に使用される。リダイレクション後に即破棄される\u003C\u002Ftd>\n\u003Ctd>認証メールからアクセス時\u003C\u002Ftd>\n\u003Ctd>ログイン画面（wp-login.php）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>　サイトからWordPressの存在を隠蔽するにあたっては、これらのCookie名から「wordpress」や「wp」といったキーワードを排除しておきたい。これらのCookie名はWordPressの定数として\u003Ccode>wp-includes\u002Fdefault-constants.php\u003C\u002Fcode>で定義されているので、このファイルが読み込まれる前に定義することで、書き換えることが可能だ。実際には\u003Ccode>wp-config.php\u003C\u002Fcode>で定義することになるだろう。第一章で\u003Ccode>wp-config.php\u003C\u002Fcode>に\u003Ccode>WP_SITEURL\u003C\u002Fcode>定数を定義してあるので、その定義より後ろに下記のような設定を追加しよう。\u003C\u002Fp>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F* Cookie Settings *\u002F\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'COOKIEHASH'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">md5\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">WP_SITEURL\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> ) );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'USER_COOKIE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'mysite_user_'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'PASS_COOKIE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'mysite_pass_'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'AUTH_COOKIE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'mysite_'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'SECURE_AUTH_COOKIE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'mysite_sec_'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'LOGGED_IN_COOKIE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'mysite_logged_in_'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'TEST_COOKIE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'mysite_test_cookie'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">define\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">( \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'RECOVERY_MODE_COOKIE'\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">'mysite_rec_'\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> .\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> COOKIEHASH\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> );\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>　この状態で一旦WebサイトのCookieを削除してから、WordPressにログインし直してみると、発行される認証Cookie名からWordPressのキーワードが排除される。しかし、管理画面の設定保存用のCookie \u003Ccode>wp-settings-time-{user_id}\u003C\u002Fcode> はまだ残っている。しかし、この Cookie は \u003Ccode>wp-includes\u002Foption.php\u003C\u002Fcode> の関数\u003Ccode>wp_user_settings()\u003C\u002Fcode> 内にハードコーディングされてしまっていて、変更するにはコアのソースコードを修正する必要がある。WordPressの可用性を上げる意味でもフィルターフックを追加するとか、他のCookieと同様に定数化して欲しいものだが、現状で手を出すのは難しい部分だ（コアソースを修正してしまうと、WordPressの更新時に都度手を入れなければならないため）。一応、これについては Core Trac にも3年前から改善要望として\u003Ca href=\"https:\u002F\u002Fcore.trac.wordpress.org\u002Fticket\u002F41937\">チケット\u003C\u002Fa>が上がっているのだが、まだ未対応である（なので、私も切望コメントを書いておいた）。\u003Cbr \u002F>\n　また、パスワード再設定用の \u003Ccode>wp-resetpass-{hash}\u003C\u002Fcode> のCookie名も \u003Ccode>wp-login.php\u003C\u002Fcode> 内にハードコーディングされているので、ソースを直接修正しない限りは変更ができない。ただし、こちらはワンタイムCookieで、このCookieが発行された後のリダイレクト直後に破棄されてしまうので、サイト隠蔽化に影響しないものと認識して構わないだろう。\u003Cbr \u002F>\n　それ以外のプラグイン等で発行されているCookieは個別にチェックして、必要があれば隠蔽化していくことになる。\u003C\u002Fp>\n\u003Cp>以上で、登録・認証周りの秘匿化は完了だ。いやはや、だいぶ骨が折れた。\u003C\u002Fp>\n\u003Cdiv style=\"display:flex;flex-wrap:no-wrap;justify-content:space-between;margin:2em auto;\">\n\u003Cdiv>\u003Ca href=\"\u002Fpart3-way-to-conceal-the-plugins\">← 第3章 プラグインを隠蔽せよ\u003C\u002Fa>\u003C\u002Fdiv>\n\u003Cdiv>\u003Ca href=\"javascript:;\" disabled>→ 第5章 さらなる秘匿化への道（仮）\u003C\u002Fa>\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n",[275,277,280,282,284,286,289,292,295],{"slug":276,"name":276},"conceal",{"slug":278,"name":279},"cookie","Cookie",{"slug":281,"name":281},"hide",{"slug":283,"name":283},"security",{"slug":74,"name":285},"WordPress",{"slug":287,"name":288},"%e3%82%bb%e3%82%ad%e3%83%a5%e3%83%aa%e3%83%86%e3%82%a3","セキュリティ",{"slug":290,"name":291},"%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3","ログイン",{"slug":293,"name":294},"%e7%a7%98%e5%8c%bf%e5%8c%96","秘匿化",{"slug":296,"name":297},"%e9%9a%a0%e8%94%bd","隠蔽",[299,306,313,320],{"slug":300,"title":301,"date":302,"excerpt":303,"image":71,"categories":304},"part3-way-to-conceal-the-plugins","第3章 WordPressのプラグインを隠蔽せよ","2020-02-28T17:26:04","前章までの秘匿化によって、WebサイトからかなりWordPressの存在を匂わす要素がなくなって来たが、完全な秘匿化まではまだまだ足りない部分がある。その一つがプラグインだ。 基本的にWordPressはブログツール…",[305],{"slug":74,"name":75},{"slug":307,"title":308,"date":309,"excerpt":310,"image":71,"categories":311},"part2-tips-of-customize-theme-without-wordpressish-coding","第2章 脱WordPress式テーマのカスタマイズ","2020-02-10T15:17:24","まず、下記のソースを見て欲しい。 \u003Chead> \u003Cmeta charset=”UTF-8″> \u003Cmeta name=”viewport” content=”width=device-wid…",[312],{"slug":74,"name":75},{"slug":314,"title":315,"date":316,"excerpt":317,"image":71,"categories":318},"part1-how-to-install-to-keep-wordpress-confidential","第1章 WordPressのインストールで差をつけろ！","2020-02-03T15:06:21","まずはWordPressをインストールするのだが、このインストール時点での各種設定を工夫することで、「WordPressっぽさ」をかなり排除できるのだ。WordPressのスタートアップでは、このフェーズが「導入敷居を…",[319],{"slug":74,"name":75},{"slug":67,"title":68,"date":69,"excerpt":70,"image":71,"categories":321},[322],{"slug":74,"name":75},{"slug":300,"title":301,"date":302,"excerpt":303,"image":71,"categories":324},[325],{"slug":74,"name":75},{"slug":327,"title":328,"date":329,"excerpt":330,"image":331,"categories":332},"illustrated-wp-login-php-to-understand-wordpress-user-authentication","図解『wp-login.php』！ WordPressのユーザ認証を極める！","2020-04-27T22:02:10","ここ最近、「FF7Remake」やら「MHW:IB」の傍らの空き時間で「WordPressサイトの秘匿化チャレンジ」と称した独自プロジェクトをやっているのだが、その中でWordPressのユーザ認証周りの秘匿化が何気に…","\u002Fassets\u002Fuploads\u002F2020\u002F04\u002Fwp-login-docs.png",[333],{"slug":74,"name":75},1793391397343]