1

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 でプロパティを機能させるのを妨げています。

4

1 に答える 1

0

require( '/var/www/wordpress/wp-load.php' );最終的に、初期化コードの直前に Yii の index.php ファイルを追加しました。その後、プロジェクトですべての WordPress 機能を使用することができました。これにより、WordPress のヘッダーとフッターのレイアウトを Yii でget_header()andget_footer()関数を使用して再利用することができました。

于 2013-01-08T17:34:18.110 に答える