次のように、URL の末尾にクエリを追加する必要がありました。
http://www.somewordpressite.com/?page_id=57?login=failed
ここで、「?login=failed」が存在するかどうかを確認する必要があるため、テンプレートの正しい部分をロードできます。
いろいろなバリエーションを試してみたのですが、なかなかつかめません。
<?php
$checkurlquery[] = $_SERVER['QUERY_STRING'];
//echo json_encode($_GET, JSON_HEX_TAG);
foreach($checkurlquery as $key => $v){
$dice = $checkurlquery[$key];
echo ($dice);
}
?>
結果: page_id=57?login=failed
最終的に、私はここにたどり着こうとしています:
if ( //LOGIN failed )) {
get_template_part( 'login', 'failed' );
} else {
get_template_part( 'login', 'form' );
}
login=failed を確認するにはどうすればよいですか?それを使用して適切なテンプレート パーツを読み込むことができますか? ありがとう。
編集:はい、URLを変更できたので、http://www.somewordpressite.com/?page_id=57&login=failedにすることができましたが、問題が発生しました。Wordpress はその '?' を使用するため、ホームページを表示していてログインに失敗すると、404 エラーが発生します。
この URL は問題なく、インデックス ページを取得します:
www.site.com/?login=failed
この URL は 404 エラーです:
www.site.com/&login=failed
編集:Wordpress functions.phpに必要な更新された機能は次のとおりです: ログイン後のリダイレクト、Wordpress URL
次に、header.php (または任意の場所) に次を追加します。
<?php
if(isset($_GET['login']) === true and $_GET['login'] === 'failed')
{
get_template_part( 'login', 'failed' );
} else {
get_template_part( 'login', 'form' );
}
?>