我正在构建一个使用 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 中工作。