IS_USER_LOGGED_IN在自定义页面上不返回任何内容

时间:2012-09-14 作者:Rambomst

我试图在自定义PHP页面上使用WordPress身份验证,但是当检查“is\\u user\\u logged\\u”时,它根本不会返回任何信息,其他函数也不会返回任何有用的信息。

我使用的代码是:

require $_SERVER[\'DOCUMENT_ROOT\'] . "/wp-load.php";
require $_SERVER[\'DOCUMENT_ROOT\'] . "/wp-blog-header.php";
print_r(is_user_logged_in());
在测试之前,我已经登录到管理区域。登录或注销时,该函数仍然不会返回任何内容,并且没有PHP错误。

2 个回复
SO网友:kaiser

我的全球机构成立了吗

当您使用my»Current Admin Screen Info« 1),代码中有某些点/钩子/过滤器,在设置全局之前需要经过这些点/钩子/过滤器。

enter image description here

仍在寻找更好的名字

何时上钩

昨天,在阅读WPSE聊天时,我有了一个好主意,这是上述插件的基础。要了解如何检查是否设置了全局设置,只需阅读以下代码:

function get_hook_for_global()
{
     $global = $GLOBALS[\'some_global\'];
     if ( isset( $global ) )
     {
          remove_filter( current_filter(), __FUNCTION__ );
          return print "Global: $global<br />Set on: ".current_filter();
     }
}
add_action( \'all\', \'get_hook_for_global\' );
这将打印出全局的内容,以及设置全局的过滤器。

改进检查如果要获得详细的输出,必须添加array/object 搬运:

// Object/Array handling: Dump contents
if ( is_array( $global ) OR is_object( $global ) )
    $global = var_export( $global, true );

SO网友:Otto

你不能像那样加载WordPress并让认证机制工作。验证cookie绑定到站点URL,并且仅发送到这些URL。如果您的URL方案超出了正常的WordPress URL方案,那么它将无法获取Cookie,并且在通过该URL访问WordPress时,您将无法登录WordPress。

换句话说,您无法以尝试检查身份验证的方式检查身份验证。仅包括wp负载。php不足以验证您的身份。

结束

相关推荐

定制NAV-Menu-template.php的最佳方式是什么?

我已经修改了函数start_el 在里面nav-menu-template.php 替换$item->ID 具有$item->title 所以htmlli 菜单中的元素具有更可读的类名。具体来说,我已经改变了路线$id = apply_filters( \'nav_menu_item_id\', \'menu-item-\'. $item->ID, $item, $args ); 至$id = apply_filters( \'nav_menu_item_id\', \'men