我正在尝试检查 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';
}
Run Code Online (Sandbox Code Playgroud)
?>
即使用户已登录,我总是收到“已注销”消息。知道如何解决此问题吗?
谢谢
小智 1
我认为你的代码是正确的,所以我测试了它(仅更改行“require('../../trading/wp-load.php');”以匹配我的安装)并且它按预期工作,所以代码本身是正确,但其他地方是错误的。
为了让 WordPress(在标准配置中)知道用户已登录,它必须接收 cookie。你可以添加一个
var_dump( $_COOKIE );
Run Code Online (Sandbox Code Playgroud)
添加到您的脚本并验证是否已收到“wordpress_logged_in_ ...”之类的 cookie。
WordPress 有挂钩,因此可以自定义用户验证。当然,在定制安装中,上述情况可能不正确。
| 归档时间: |
|
| 查看次数: |
4395 次 |
| 最近记录: |