2016-10-01 53 views
-1

使用php可以確定我的網站的訪問者是否登錄到我的網站的wordpress區域。如何從wordpress以外的地方確定訪問者是否登錄到Wordpress

通過這個我的意思是我的網站(有註冊)的wordpress區域是在例如example.com/members/

我想從example.com/offers.php知道他們是否登錄到wordpress區域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/ 我想通過PHP訪問,看看是否有人從我的public_html根(例程caled mydomain的php例程登錄。 com/offers.php) – WJN

+0

我發現各種文章說這個問題是與cookie相關的。說我應該添加到我的wp-config.php define('COOKIEPATH','/'); define('SITECOOKIEPATH','/'); 我在*之前添加了這一切,停止編輯!開心博客。 */ 如果我註銷,我無法再重新登錄! 我使用插件主題我的登錄添加登錄或註銷到我的導航菜單。 – WJN

回答

0

確定什麼,似乎被人忽略的是,試圖從不同的文件夾的安裝位置的WordPress然後用下面的代碼無法正常工作訪問WordPress的時... is_user_logged_in()將始終返回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 />';} 
?> 

我設法找到一個解決方法,對我來說至少可以工作。 我正在構建一個html頁面,需要測試用戶是否登錄到我網站上的wordpress區域。所以我所做的就是把上面的測試放到wordpress文件夾中的文件中。然後在我的html中簡單地使用IFrame,因爲它的src = wordpress文件夾中的文件。然後,根據用戶正在登錄或退出,迴應出需要什麼。

可能是一個馬虎的解決方案,但至少它的作品。

0

你也可以在外面使用WordPress的功能。只需在您的安裝路徑中包含wp-load.php。

使用get_currentuserinfo()獲取登錄用戶的用戶數據。

// 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"; 
} 
相關問題