WordPress - 检查用户是否从外部PHP文件登录

时间:2018-03-19 17:51:25

标签: php wordpress

我正在尝试检查WordPress用户是否从外部PHP文件登录,这是我的代码

<?php 
/*Load up wordpress externally*/
define( 'WP_USE_THEMES', false );
define( 'COOKIE_DOMAIN', false );
define( 'DISABLE_WP_CRON', true );
require('../../trading/wp-load.php');

if ( is_user_logged_in() ){
    $user =  wp_get_current_user();
    print_r($user);

}else{
    echo 'logged out';
}

&GT;

即使用户已登录,我也总是收到“已注销”消息。 知道如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:0)

这个自定义php文件何时加载?根据{{​​3}} - 在用户通过身份验证之前,您需要等到至少Action Reference挂钩。

我会尝试:

add_action( 'init', 'FDI_logged_in' );
function FDI_logged_in(){
    if( is_user_logged_in() ){
        $user = wp_get_current_user();
        print_r( $user );
    } else {
        echo 'logged out';
    }
}

答案 1 :(得分:0)

我认为你的代码是正确的,所以我测试了它(只改变了行#34;要求(&#39; ../../ trading / wp-load.php&#39;);&#34;匹配我的安装)和它按预期工作所以代码本身是正确的,而其他错误。

对于WordPress(在标准配置中)知道用户已记录,它必须收到cookie。你能加一个

吗?
var_dump( $_COOKIE );

到您的脚本并验证Cookie,例如&#39; wordpress_logged_in_ ...&#39;正在接受。

WordPress具有挂钩,因此可以自定义用户验证。当然,在定制安装中,上述情况可能并非如此。