如何在非wp页面中找到当前wordpress用户的名称

时间:2012-11-16 23:31:10

标签: wordpress

我从WP链接到非wp页面。如何找到登录wp的人的用户名?这不起作用。

  <?php 
    require_once("../members/wordpress/wp-load.php");


if(is_user_logged_in())
{
    echo '<br />User Logged in ok<br />';
    echo 'User ID is: '.$user_ID.'<br />';
    echo 'User login is: '.$current_user->user_login.'<br />';
}
else
    echo 'No user is logged in<br/>';

&GT?;

3 个答案:

答案 0 :(得分:0)

尝试

wp_get_current_user();

文档声明它是get_currentuserinfo()的包装。

所以,试试这个;

<?php
    $current_user = wp_get_current_user();
    if ( 0 == $current_user->ID ) {
        // Not logged in.
    } else {
        // Logged in.
    }
?>

如果它在非wp页面上不起作用。尝试用get_currentuserinfo()替换wp_get_current_user()。

答案 1 :(得分:0)

您的非wp页面不在WP文件夹中,因此无法访问WP cookie。如果你希望WP脚本位于你的WP文件夹之外的php脚本,需要定义COOKIEPATH指向php脚本的公共父文件夹&amp;你的wp文件夹,或者只是将它指向根文件夹。 将以下行放在wp-config.php中:

define('COOKIEPATH', '/');

PS:您的非wp页面也应该与WP在同一个域中提供。

答案 2 :(得分:0)

这很好用。

在Wordpress中我保存了一个cookie。然后在非wordpress页面之前 DOCTYPE行,我放置了这段代码:

<?php
    session_start();   
    $name =  $_SESSION['member_name'];
    if ($name == '') {
      header('Location: searchObits.php'); 
      exit;
    } else {  $_SESSION["ismember"] = "member";  }
?>