テーマをカスタマイズしているのでしたら、デフォルトテーマに変更して確認してみてください。(テーマに問題がない場合は、プラグインの停止)
マルチサイト化しているサイトでは、正しく動作しない可能性があるようです。
私の環境では、専用ディレクトリに配置したWP(siteurlとhomeが違う)でも正しくログイン判定出来ています。
マルチサイト化していないでしょうか?
WordPress を専用ディレクトリに配置する
マルチサイトユーザーの方へ: 以下の手順はマルチサイトネットワークを有効化している場合には正しく適用されず、動作しません。
デフォルトテーマでも、状況には変わりありません。
おそらく、ログイン時に発行されるCookieのアドレスと、ブラウザ上に保存されているCookieのアドレスが異なるためだろうと考えました。
プラグインの停止は試してみたでしょうか?
マルチサイト化はしていませんか?
管理画面では、’wordpress_’ + ‘siteurlのハッシュ値’(SSL環境下では’wordpress_sec_’ + ‘siteurlのハッシュ値’)、WPサイトでは’wordpress_logged_in_’ + ‘siteurlのハッシュ値’という名前のクッキーが保存されます。
‘echo get_site_option( ‘siteurl’ );’を実行して、サイトで取得されるsiteurlを確認してみてください。
どのページでも読み込まれるheader.phpかsidebar.phpがいいと思います。
また、サイトを表示している状態で、’wordpress_logged_in_’ + ‘siteurlのMD5ハッシュ値’という名前のクッキーが保存されているか確認してみてください。
上記のクッキーが保存されている場合、クッキーの内容が’ユーザー名’ + ‘%7C’ + ‘タイムスタンプ’ + ‘%7C’ + ‘何らかのハッシュ値’のようにユーザー名から始まって’%7C’で区切って3つに別れているか確認してみてください。
認証はクッキーで行っているので、クッキーの発行・保存に何らかの問題があるのだとは思いますが、ログインページやトップページで、’get_site_option( ‘siteurl’ )’で正しくsiteurlが取得できる場合、問題はsiteurlではなく、他の所にあると思います。
ログインページはテンプレートが関係ありませんので、wp-login.phpに直接記述して確認してください。
おそらく、ログイン時に発行されるCookieのアドレスと、ブラウザ上に保存されているCookieのアドレスが異なるためだろうと考えました。
クッキーはアクセスしたユーザーのPCに保存され、WEBからアクセス出来るファイルではありませんので、アドレスという物は存在しません。
ただし、保存時にクッキーを発行したWEBサイトがドメインとパスを設定しますので、他のドメインからはクッキーにアクセス出来ないようになっています。
上記’wordpress_logged_in_’ + ‘siteurlのMD5ハッシュ値’のドメインとパスを確認してください。
siteurlとhomeはどのように違うのでしょうか?
同じドメイン上(サブドメインも同じ)で、サブディレクトリにWPを設置しているのでしょうか?