-
投稿者投稿
-
2023年4月16日 9:33 PM #121694
サブディレクトリの対応、
snow-monkey-member-post/App/Shortcode/LoginForm.php
とmember-post/App/Shortcode/RegisterForm.php
の中にあるprotected function _get_current_url() { ... }
を
protected function _get_current_url() { $site_url = site_url(); // WordPress Core URL. $home_url = home_url(); // Home page URL. $own_directory = untrailingslashit( str_replace( $home_url, '', $site_url ) ); $path = filter_input( INPUT_SERVER, 'REQUEST_URI' ); $path = preg_replace( '|^' . $own_directory . '|ms', '', $path ); $path = remove_query_arg( 'login_error_codes', $path ); $path = remove_query_arg( 'register_error_codes', $path ); return home_url( $path ); }
に書き換えてみるとどうでしょうか!?
♥ 0Who liked: No user2023年4月16日 10:09 PM #1216992023年4月16日 10:52 PM #121706うがーまじですか…。
CASE-B 専用ディレクトリ→そのまま表示
専用ディレクトリ : https://example.com/wp
トップページ URL : https://example.com/wp■CASE-Bのみ不具合あり
・ログインフォーム:ログインはできているが、https://example.com/wp/wp/と、専用ディレクトリの部分がもう一度付与されるURLにリダイレクトされるため、404になる。
・登録フォーム:登録はできているが、https://example.com/wp/wp/?checkemail=registeredと、上記同様に付与されたURLにリダイレクトされるため、404になってしまう。ですよね?
一応今僕は、WordPress は https://inc2734.xxx.xxx/snow-monkey/ に設置、トップページの URL も https://inc2734.xxx.xxx/snow-monkey/ という状態のサイトに適当な投稿をつくり、そこにログインフォームを設置してログイン情報を送信したところ、正しくログインできました。
ダッシュボード → 設定 → 一般設定の「WordPress アドレス (URL)」「サイトアドレス (URL)」はどちらも同じでしょうか? また、それら URL 末尾のスラッシュはありなしどちらでしょうか?
♥ 0Who liked: No user2023年4月16日 11:01 PM #121715ですよね?
→ そうなんですよ。。はい、そのケースです。私もキタジマさんと同じく、ドメイン.com/sub/に設置し、URLも同じにしています。
ダッシュボードでは、WordPress アドレス (URL) サイトアドレス (URL)ともに、末尾のスラッシュはない状態で試したものでした。ドメイン.com/sub
なおコメントをいただいて、スラッシュを付与して保存しようとしましたが、自動でスラッシュなしにされてしまいます。確かこれは以前からこうなるものでしたね。
謎ですね。。もうひとつ別環境をつくって試してみます。
♥ 0Who liked: No user2023年4月16日 11:18 PM #121725もうひとつ新たな環境をつくって、余計なプラグインやMy Snow Monkeyへの記述もない状態で確認しましたが、やはり同じ挙動になりますね。。
なお、登録の際に404になったあと正規のURLにいくと、「登録確認のメールが送信されます。」とシンプルな表記に変わって示されていることを確認しました。これまでは緑だったか、アラート形式で表示されていましたね。書き換えたことによって、変化があったようですね。
いやはや、何が問題なのでしょうね。。
♥ 0Who liked: No user2023年4月16日 11:58 PM #121726お手間おかけして申し訳ないです…。さらに変えてみました!
protected function _get_current_url() { $site_url = site_url(); // WordPress Core URL. $home_url = home_url(); // Home page URL. $own_directory = untrailingslashit( str_replace( $home_url, '', $site_url ) ); preg_match( '|https?://[^/]+?(/.+?)$|', $home_url, $match ); $sub_directory = $match ? $match[1] : ''; $path = filter_input( INPUT_SERVER, 'REQUEST_URI' ); $path = preg_replace( '|^' . $sub_directory . $own_directory . '|', '', $path ); $path = remove_query_arg( 'login_error_codes', $path ); $path = remove_query_arg( 'register_error_codes', $path ); return home_url( $path ); }
♥ 0Who liked: No user2023年4月17日 1:02 AM #121729キタジマさん、お待たせしました。
サブディレクトリ環境にて、こちらのコードで問題なくログインおよび登録ができました!
また念のため、サブディレクトリにインストール→ルート表示の環境でも確認したところ、引き続き問題なくログインと登録ができましたので、併せてご報告しておきます。よかったです。ありがとうございます!ログインURL変更の件と併せて、ご対応いただきありがとうございました。
アップデートいただくのを楽しみにお待ちしておきます。♥ 0Who liked: No user2023年4月17日 7:56 AM #1217352023年4月17日 9:19 AM #121742 -
投稿者投稿
- トピック「Snow Monkey Member Post ショートコードによるログインと登録時の不具合」には新しい返信をつけることはできません。