IS_USER_LOGED_IN()不起作用

时间:2012-07-18 作者:Adola

我正在为我的网站制作登录表单,我有以下部分:

<?php
if (is_user_logged_in()) {
    echo \'Hello, \', $user_login, \'. <a href="\', wp_logout_url(), \'" title="Logout">Logout</a>\';
} else {
    wp_login_form();
}
?>
登录后,返回页面,没有登录指示
我怀疑is\\u user\\u logged\\u in()正在工作,但我不知道如何调试此问题。

编辑:每当我这样做时:

global $current_user;

var_dump($current_user);
我总是得到:

ect(WP_User)#3 (7) { ["data"]=> NULL ["ID"]=> int(0) ["caps"]=> array(0) { } ["cap_key"]=> NULL ["roles"]=> array(0) { } ["allcaps"]=> array(0) { } ["filter"]=> NULL }
无论我是否已使用上述表单“登录”。

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

这个功能没有问题,事实上你没有真正登录!

你说你在做你自己的登录表单?这篇文章符合标准吗wp-login.php, 还是你自己处理这个请求?

表单的路径/域是否与WordPress不同?如果你inspect your cookies, 是否已设置?

结束

相关推荐

在Functions.php中创建“无文件”页面模板

(所谓“页面模板”,我指的是具有\"Template Name\" header 可在管理页面的“模板”下拉字段中选择。)在多个实例中,我构建了页面模板,可以通过挂接到\\u内容或pre\\u get\\u帖子或类似的内容来完成。这让我想知道是否有一种方法可以在functions.php 或者不创建主题文件本身的插件。我想这样做的原因:在我想到的场景中,我通常只是复制页面。php几乎一字不差。这意味着将来对页面的任何更改。php需要制作两次。随着儿童主题的更新,这更加令人痛苦</我喜欢“模板”字段U