loader image

とある夢女の雑記ブログ

/ 2019/03/08

【WordPress】パスワードの文言をカスタマイズしたら送信後エラーになる時の対処法

うっかりハマってしまったので備忘録に。

パスワードの「保護中」という文字を消したり、文言を変更する時は以下のコードをfunctions.phpに入れるのですが。

//「保護中」を消す
add_filter('protected_title_format', 'remove_protected');
function remove_protected($title) {
return '%s';
}
//パスワードの文言を変更
function my_password_form() {
return
'<p>パスワードは管理人に聞いてね</p>
<form class="post_password" action="' . home_url() . '/wp-login.php?action=postpass" method="post">
<input name="post_password" type="password" size="24" />
<input type="submit" name="Submit" value="' . esc_attr__("OK") . '" />
</form>';
}
add_filter('the_password_form', 'my_password_form');

これを入れてページは無事にカスタマイズができるのですが、送信後にエラーページ(ページが見つかりません)に飛んでしまいました。

スポンサーリンク

プラグイン『SiteGuard WP Plugin』を入れているとエラーになるっぽい

文言を変更しなければ普通にページが開いたので、パスワードを送信する時のURLを見てみるとどうやら「wp-login.php」が問題だったっぽいです。

私は上のプラグインを入れているので、ログインページがあの数字のURLに変更になっています。

なのでそれに合わせると問題なく表示されるようです。

対処法:.htaccessを開いて以下の部分を確認

FTPソフトなどで.htaccessを開いて(一番最初のところにあると思います)、「#SITEGUARD_PLUGIN_SETTINGS_START」を探します。

その中で「RewriteRule ^login_XXXXX(数字)」という項目があるので、「login_XXXXX(数字)」の部分をコピペします。

またfunctions.phpに戻り、formの中のURLを以下の通り変更します。(XXXXXを数字に変更)

<form class="post_password" action="' . home_url() . '/login_XXXXX?action=postpass" method="post">

これで解決!

全然対策の記事が引っかからなかったので本当に悩んだ……。

スポンサーリンク
\ LINE@はじめました / 友だち追加 更新したらお知らせします

コメントや誤字脱字報告などお気軽にどうぞ*
悪口系は弾かれて届かない場合があります。
その他お問い合わせはメールフォームへお願いします。