2

我从 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/>';

?>

4

3 回答 3

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()。

于 2012-11-16T23:36:15.217 回答
0

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

define('COOKIEPATH', '/');

PS:您的非 wp 页面也应该从与 WP 相同的域提供。

于 2015-08-28T10:57:21.920 回答
0

这运作良好。

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

<?php
    session_start();   
    $name =  $_SESSION['member_name'];
    if ($name == '') {
      header('Location: searchObits.php'); 
      exit;
    } else {  $_SESSION["ismember"] = "member";  }
?>
于 2015-08-28T18:51:41.760 回答