簡體   English   中英

無法在“wp-content”之外獲取當前 WordPress 用戶信息

[英]Unable to get current WordPress user information outside `wp-content`

我在wp-content之外的某個目錄中創建了一個文件,我在其中加載了默認的 WordPress 文件以運行以下代碼。 假設可以使用domain.com/folder/user_info.php訪問該文件。

error_reporting(E_ALL);
ini_set('display_errors', 1);

require_once(__DIR__."/../wp-load.php");
require_once(__DIR__."/../wp-config.php");

$connection = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
var_dump(wp_get_current_user());

當文件放在這里時,output 是:

object(WP_User)#2555 (8) { ["data"]=> object(stdClass)#3303 (0) { } ["ID"]=> int(0) ["caps"]=> array(0) { } ["cap_key"]=> NULL ["roles"]=> array(0) { } ["allcaps"]=> array(0) { } ["filter"]=> NULL ["site_id":"WP_User":private]=> int(0) } 

當我將相同的文件放入wp-content並使用domain.com/wp-content/user_info.php訪問它時,我可以很好地獲取有關當前用戶的信息。

問題是我不想將自己的文件放在wp-content中。 那么,有什么方法可以在wp-content目錄之外獲取登錄用戶的信息呢?

謝謝。

更新:

這是我的目錄結構:

domain/
    wp-content/
        user_info.php
    wp-includes/
    wp-admin/
    custom-folder/
        user_info.php

兩個user_info文件中的代碼完全相同。 但是, wp-content中的文件會打印用戶信息,而custom-folder中的文件則不會。

我測試了你的代碼,它對我來說運行良好。

嘗試替代方案:

ini_set('display_errors', 1);

require_once(__DIR__."/../wp-load.php");
require_once(__DIR__."/../wp-config.php");

$connection = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

global $current_user;
var_dump($current_user);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM