我的文件夹结构:
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没有帮助
答案 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.php
和wp-includes/pluggable.php
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require ('./wp-blog-header.php');