1

我正在构建一个使用 Wordpress 作为 CMS 并使用 Yii 框架构建的网站。所有的业务逻辑都可以正常工作。大多数可见页面都充满了来自 Wordpress 管理员的内容,只有用户个人资料部分是用 Yii 构建的。

我的问题是我想在 Yii 应用程序中重用 wordpress 页面的布局。最初,我尝试在一个空白的 PHP 文件中执行此操作,并且使用此代码一切正常:

<?php
要求('/var/www/wordpress/wp-load.php');

get_header();
?>

<div>
这里有一些内容
</div>

<?php
get_footer();
?>

问题是当我在 Yii 中创建新布局以便我可以重用页眉和页脚时,它会崩溃并显示空白页。我尝试了require('/var/www/wordpress/wp-blog-header.php');require( '/var/www/wordpress/wp-load.php' );。这是我用来在 Yii 中加载 wordpress 功能的代码,但不幸的是它不起作用。

<?php /* @var $this 控制器 */
spl_autoload_unregister(array('YiiBase','autoload'));

定义('WP_USE_THEMES',真);
要求('/var/www/wordpress/wp-blog-header.php');

//require('/var/www/wordpress/wp-load.php');
get_header();

spl_autoload_register(array('YiiBase', 'autoload'));

 ?>

任何帮助将非常感激。理想情况下,我想在 Yii 布局/视图中使用 wordpress 功能get_header()get_footer()

谢谢

更新

我检查了 Apache 日志,当我尝试在浏览器中打开页面时,似乎记录了以下错误:PHP Fatal error: Call to a member function get() on a non-object in /var/www/wordpress/wp-includes/query.php on line 27 此外,当我注释掉该get_header();行时,页面打开时没有任何错误(也没有任何样式)。所以有些东西阻止了 get_header() 在 Yii 中工作。

4

1 回答 1

0

我最终require( '/var/www/wordpress/wp-load.php' );在初始化代码之前添加了 Yii 的 index.php 文件。然后我就可以在我的项目中使用所有的 WordPress 功能。get_header()这帮助我在 Yii 中使用和get_footer()函数重用了来自 WordPress 的页眉和页脚布局。

于 2013-01-08T17:34:18.110 回答