2016-10-01 3 views
-1

phpを使用すると、自分のサイトの訪問者が自分のサイトのワードプレスエリアにログインしているかどうかを判断できます。ワードプレスの外部からWordpressにログインしているかどうかを調べる方法

これは私のサイト(登録済み)のワードプレス領域が例えばexample.com/members/であることを意味します。

私がexample.com/offers.phpから知りたいのは、ワードプレスエリアexample.com/membersにログインしている場合です。

+0

これはあなたを助けると思う:http://wordpress.stackexchange.com/questions/105736/how-to-get-login-data-session-outside-wordpress –

+0

私は本当に苦労している。私は試してみたすべてを試して、これが成功することなく働かせるようにしました。 get_current_user_id();常に0を返します。 問題は私のWordPressがフォルダmydomain.com/members/ にあると思われます。誰かが私のpublic_htmlルート(ルーチンcaled mydomain)のPHPルーチンからログインしているかどうかをPHPで確認したいのですが。 com/offers.php) – WJN

+0

私は、問題がクッキー関連であると言っているさまざまな記事を見つけました。私のwp-config.phpに追加する必要があると言ってください。 define( 'COOKIEPATH'、 '/'); define( 'SITECOOKIEPATH'、 '/'); 私はその前に/ *を追加しました。ハッピーブログ。 */ 私がログアウトすると、再びログインすることはできません! 私はプラグインのテーマThe My Loginを使用してナビゲーションメニューにログインまたはログアウトを追加します。 – WJN

答えて

0

()は常にfalseを返します。

<?php 
define('WP_USE_THEMES', false); 
Include_once($_SERVER['DOCUMENT_ROOT'] . '/members/wp-load.php'); 
if (is_user_logged_in()) {echo ' You are currently logged in.'. '<br />';} 
else 
{ echo ' You are currently not logged in.'. '<br />';} 
?> 

私は私のために、少なくとも作品の回避策を見つけることができました。 ユーザーが自分のサイトのWordPressエリアにログインしているかどうかをテストする必要があるhtmlページを構築していました。だから私がやったのは、wordpressフォルダにあるファイルに上記のテストを置くことでした。それから、単純に私のHTMLにIFrameを使用しました。これはsrc = wordpressフォルダにあったファイルです。それは、ユーザーがログインしているかログアウトしているかに応じて、必要なものをエコーし​​ます。

恐ろしい解決策かもしれませんが、少なくともそれは機能します。

0

外部のWordPress関数も使用できます。インストールパスにwp-load.phpを含めてください。

get_currentuserinfo()を使用してログインしたユーザーのユーザーデータを取得します。

何見落とさ取得するようですが、ワードプレスは、次のコードを使用して、その後インストールされている場所を別のフォルダからワードプレスにアクセスしようとしたときに動作しないということです... is_user_logged_in OK
// Include the wp-load' 
include('YOUR_WP_PATH/wp-load.php'); 
if (is_user_logged_in()) { 
global $current_user; 
get_currentuserinfo(); // to get currently logged in user data 
echo 'Username: ' . $current_user->user_login . "\n"; 
echo 'User email: ' . $current_user->user_email . "\n"; 
}else{ 
    echo "User not logged in"; 
} 
関連する問題