web-dev-qa-db-ja.com

WordPressの外部でログインデータ(セッション)を取得する方法

WPがログインデータを保存するためにPHPセッション(またはクッキー)を使っているのではないでしょうか。

CMSとしてWPを使用していますが、外部からコンテンツを表示(および作成)するWebサイトがあります。単にnot$post['post_author']wp_insert_post()に渡すことによって)匿名投稿を許可します

ただし、mysite/wp/wp-login.phpにリダイレクトしてセッションまたはCookieからmysite/mypage.phpを取得するよりも、(WPに登録されている)ユーザーがuser idにログインできるようにする必要もあります。

それ、どうやったら出来るの?

編集する

コード:

include( 'wp/wp-load.php');  
global $current_user;
get_currentuserinfo();
print_r($current_user);

これは空のWP_Userオブジェクトを出力します。

WP_User Object ( [data] => [ID] => 0 [caps] => Array ( ) [cap_key] => [roles] => Array ( ) [allcaps] => Array ( ) [filter] => ) 

私はWPにログインしていますが。

P.S.
今、私はタグでwp-login-formを見ました。それは私にもっと良い考えを与えました。

自分のページにログインフォームを置くことはできますか(wpの外)?ユーザーがリダイレクトする必要がないため、これは確実に優れています。

mysite/wpと訪問者(Google Botを含む)の間のやりとりを最小限(理想的にはゼロ)にしたいです。

1
jeff

私は自分の問題を解決した、そしてそれは間違いなく他の人たちにも役立つ可能性がある。

私のフォルダ構造はこのようなものだったので問題はクッキーにありました:

  • mysite.com
  • mysite.com/mypage.php
    • マイサイト/ワードプレス/

cookieはwordpressフォルダに対してのみ有効であり、それはサブディレクトリです。

ワードプレスの外でクッキーを有効にするために、私は root Cookie pluginをインストールしました、そして今はすべてうまくいきます。

P.S.

Root Cookieの設定を変更しないでくださいドメイン名設定を空のままにしてください。

2
jeff