检查 wordpress 用户是否通过外部脚本登录 [英] Check if wordpress user is logged in via external script

查看:18
本文介绍了检查 wordpress 用户是否通过外部脚本登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试检查用户是否通过外部脚本登录 WordPress.

I am trying to check if a user has logged into WordPress via an external script.

Wordpress 位于/blog/目录中.外部脚本在首页(/index.php)

Wordpress is located in the /blog/ directory. The external script is on the homepage (/index.php)

当我登录时,下面的代码返回一个空数组.

The code below returns an empty array when I am logged in.

define( 'WP_USE_THEMES', false );   
require_once $_SERVER['DOCUMENT_ROOT'] . 'blog/wp-load.php'; 
if ( !function_exists( 'is_user_logged_in' ) ) { 
    require_once    $_SERVER['DOCUMENT_ROOT'] . 'blog/wp-includes/pluggable.php'; 
} 

    $current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) {
    // Not logged in.
} else {
    // Logged in.
    echo 'logged in';
}       

echo 'Username: ' . $current_user->user_login . '<br />';
    echo 'User email: ' . $current_user->user_email . '<br />';
    echo 'User first name: ' . $current_user->user_firstname . '<br />';
    echo 'User last name: ' . $current_user->user_lastname . '<br />';
    echo 'User display name: ' . $current_user->display_name . '<br />';
    echo 'User ID: ' . $current_user->ID . '<br />';

但是这会返回以下空值:

However this returns the following empty values:

Username: 
User email: 
User first name: 
User last name: 
User display name: 
User ID: 0

经过一番研究,我还在配置文件中尝试了以下内容,但没有帮助.

After a bit of research, I have also tried the following in the config file which did not help.

define('COOKIE_DOMAIN', '.abc.com'); // your main domain
define('COOKIEPATH', '/');
define('COOKIEHASH', md5('abc.com')); // notice absence of a '.' in front

任何想法为什么它不返回任何东西?

Any ideas why it is not returning anything?

推荐答案

我设法让这个工作.确保这是在 wp-config.php 的顶部

I managed to get this working. Make sure this is at the top of wp-config.php

define('COOKIE_DOMAIN', '.xxxfff.com'); 
define('COOKIEHASH', md5('xxxfff.com')); 

define('ADMIN_COOKIE_PATH', '/');
define('COOKIEPATH', '/');
define('SITECOOKIEPATH', '/');

前端脚本

require_once $_SERVER['DOCUMENT_ROOT'] . 'blog/wp-load.php'; 
global $current_user;
$current_user = wp_get_current_user();
//var_dump($current_user->ID);
//var_dump($current_user->display_name);
//var_dump($_COOKIE);


if ( !function_exists( 'is_user_logged_in' ) ) { 
    require_once    $_SERVER['DOCUMENT_ROOT'] . 'blog/wp-includes/pluggable.php'; 
} 

    $current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) {
    // Not logged in.
    echo 'not logged in';
} else {
    // Logged in.
    echo 'logged in';
}       

这篇关于检查 wordpress 用户是否通过外部脚本登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆