无法在安装文件夹之外获得wordpress会话用户名

时间:2015-11-13 19:34:55

标签: php wordpress session cookies content-management-system

我的文件夹结构:

www.domain.com/myscript.php
www.domain.com/blog/wp-load.php
www.domain.com/blog/bridge.php

Bridge.php:

include('wp-config.php');
include('wp-includes/pluggable.php');
echo $current_user->user_login;

在我的浏览器中手动打开此文件会正确输出当前登录的用户名。问题是我还需要myscript.php中的用户名,该用户名在父文件夹中,在wordpress install之外

myscript.php只是:

include("blog/bridge.php");

我已经尝试了我能想到的一切: - 安装插件“root cookie”以启用安装目录外的cookie - 如果我检查firefox cookie,它被正确设置为“/”而不是“/ blog” - 以下设置是wp-config.php:     定义( 'SITECOOKIEPATH', '/');     定义( 'ADMIN_COOKIE_PATH', '/'); - 尝试包括不同的wordpress核心文件 - 设置包含文件系统根目录的路径不会改变任何内容 - 包括myscript.php中的wordpress文件而不是bridge.php没有帮助

2 个答案:

答案 0 :(得分:1)

首先需要在myscripts.php文件中包含wp-load.php。包含这一个文件将“加载”所有WordPress供页面使用。基本上,所有WordPress函数和变量都可用于该页面。

include('blog/wp-load.php');

修改

这确实有用......让你的MyScript.php看起来像这样进行测试:

include( 'blog/wp-load.php');  
global $current_user;
get_currentuserinfo();
print_r($current_user);

您将获得正确的信息或空的WP_User对象。如果它是空的那么这是因为cookie仅在您的博客文件夹中有效。修改您的wp-config.php文件以更改cookie域:

https://codex.wordpress.org/Editing_wp-config.php#Set_Cookie_Domain

答案 1 :(得分:0)

您实际上只需要执行此操作:这将确保您可以使用对主题和子项的访问权限。这也将设置其余环境,包括wp-config.phpwp-includes/pluggable.php

define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require ('./wp-blog-header.php');