?logout
がURLの末尾に追加された場合、ユーザーがログアウトされるように、私のワードプレスサイトでは以下のコードを使用します。これはうまく機能します - ユーザがmysite.com/?logout
やmysite.com/test-page/?logout
などのページ、あるいは$_GET['logout']
変数が設定されているページにアクセスした場合、ログアウトされます。
if( isset($_GET['logout']) ){
add_action('plugins_loaded', 'wp_logout',0);
}
私が直面している問題は、このアクションをplugins_loaded
に追加したとしても、それがアクションフックの リストの一番上にあるということです 。それ以降のロードでページが更新された場合は、ページの「ログアウト」バージョンが表示されますが、同じ要求は表示されません。
問題を再現する手順:
functions.php
ファイルに追加してください。 mu-plugins
ディレクトリのファイルに入れています。?logout
を追加してください。希望する動作
Wordpressにログインした後、URLに?login
を追加したページにアクセスすると、ログアウトプロセスが完了し、ページを更新することなく、ロード時にログアウトしたかのように表示されます。
私は以前Wordpressに接続できるとは思わないので、これを回避する方法がわかりません。
これはそれをするはずです:
add_action('plugins_loaded', function(){
wp_set_current_user(0);
},0);
代わりにwp
またはinit
フックを使用してみてください。