Wordpress を CMS として使用し、Yii フレームワークで構築された Web サイトを構築しています。すべてのビジネス ロジックは正常に機能します。ほとんどの目に見えるページは、Wordpress 管理者からのコンテンツで満たされ、ユーザー プロファイル セクションのみが Yii で構築されています。
私の問題は、Yii アプリで wordpress ページのレイアウトを再利用したいということです。最初は、空の PHP ファイルで実行しようとしましたが、次のコードですべてが期待どおりに機能しました。
<?php require( '/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')); define('WP_USE_THEMES', true); require('/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 でプロパティを機能させるのを妨げています。