我正在尝试检查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;
即使用户已登录,我也总是收到“已注销”消息。 知道如何解决这个问题?
由于
答案 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具有挂钩,因此可以自定义用户验证。当然,在定制安装中,上述情况可能并非如此。