php - 在 Zend Framework 中加载 Wordpress 函数

标签 php wordpress zend-framework

你好,

所以我有一个使用 Zend Framework 作为 MVC 的网站 (www.site.com),并在同一台服务器上的 wordpress (www.site.com/blog) 中设置了一个单独的博客,但是 我希望能够在各种页面上使用 Wordpress 功能从 wordpress 中提取帖子。

目前,网络服务器的 DocumentRoot 是 /httpdocs/publicpublic 包含指向 /httpdocs/blog 的符号链接(symbolic link)(我打开了 Options FollowSymlinks)

所有请求都通过 htaccess 规则路由,这些规则将其重定向到 httpdocs/public/index.php(然后加载 Zend 内容)或常规文件/其他不在 Zend 应用程序内的区域。

wordpress 中的示例代码是使用以下内容:

define('WP_USE_THEMES', false);
require(APPLICATION_PATH .'/../blog/wp-blog-header.php');

但是...这只是试图将我从 site.com/page 重定向到 site.com/page/wp-admin/install.php (这不会'不存在,所以我从 firefox 收到“此页面正在以一种永远不会完成的方式重定向”错误,即使 site.com/blog 已设置并且工作得很好。出于某种原因,它似乎无法识别它是(可能是因为路径问题......)

有谁知道我该如何解决这个问题?

注意:目前我只是查询 wordpress 数据库,但这不能正常工作,因为它没有正确格式化帖子内容。

最佳答案

这是一个已知问题(在撰写本文时已使用 WP 3.2.1 进行测试): http://wordpress.org/support/topic/calling-wp-blog-headerphp-from-inside-a-php-function

解决方案:

避免在任何类方法或函数中包含 wordpress 核心。如果还是不行,检查一下debug_backtrace()的内容,看你是不是真的在全局范围内。

解释:

Wordpress 在初始化时设置了一些变量(直接赋值,不使用$GLOBALS)。如果不是在全局范围内初始化,这些变量就属于当前函数或方法范围。结果是这些变量不能被 wordpress 的核心函数访问,因为它们依赖于 global 关键字。

关于php - 在 Zend Framework 中加载 Wordpress 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7145033/

相关文章:

php - 检查条目并在不重复的情况下插入 PHP/SQL

php - 在颜色框中的图像下方添加 div

PHP 表单详细信息不存储在 mysql 中

php - 如何从foreach中获取当前记录号?

javascript - 如何在 Wordpress 上延迟嵌入 YouTube 视频的 javascript?

javascript - 表单始终无法正确提交值

php - 在 FORM 标签内发布图片

php - 使用 PHP 或 javascript 或 PHP 框架验证 HTML 嵌入代码 (Zend)

javascript - 在纯 JavaScript 中点击显示子菜单

sql - Zend Framework SQL 更新查询