WordPress Integrator 導入エラー  【解決済み】

質問全般・改善要望
アバター
ryota
メンバー
メンバー
記事: 46
登録日時: 2009年9月10日(木) 03:08

WordPress Integrator 導入エラー

投稿記事by ryota » 2009年9月10日(木) 03:27

coreserver
Apache 1.3.37
PHP 5.2.5
MySQL 5.1.22-rc
MODx 1.0.0J
WordPress 2.8.4
フレンドリーURL ON

ルートにMODxをインストール。
/wpにWordpress1.2.8をインストール
ドキュメント名blogを作成、コンテンツを[!WordPressIntegrator!]にして保存。
その他設定はhttp://nanabit.net/modx/wordpress-integrator/に沿ってしております。

しかしhttp://hogehoge.com/blog/にアクセスをすると

Fatal error: Call to a member function register() on a non-object in /virtual/hoge/public_html/hogehoge.com/wp/wp-includes/widgets.php on line 427

というエラーが出てしまいます。
私の力量ではどこまでOKになっていて、何が原因でその先に行けないのかが分かりません。
どなたか、対処法が分かる方がいらっしゃいましたらご教授願えませんでしょうか。

よろしくお願いいたします。
株式会社ar | ar design studio
http://www.arweb.jp/
http://www.ar-st.net/
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: WordPress Integrator 導入エラー

投稿記事by yama » 2009年9月10日(木) 08:33

画像

こちらで試してみたところ、同様のエラーが出ましたがglobal宣言を追加して解決しました。global宣言の追記については解説ページの末尾のほうに書いてありますが、見落とされやすいかもしれません。

http://nanabit.net/modx/wordpress-integrator/
上記ページの末尾のほうに

WordPressのアップグレード後などで、WordPressIntegratorにない新しいグローバル変数が追加された場合に、Fatal error: Call to a member function ~といったエラーが発生することがあります。該当の変数名を調べ、スニペットにglobal宣言を追加すれば解決します。

このような記述があります。エラーの内容を見ると

/wp/wp-includes/widgets.php on line 427

このようになっているので、line 427つまりwidgets.phpの427行目で問題が起きていることが分かります。427行目を見ると直前で「global $wp_widget_factory;」とされているので、これをwordpress integratorスニペット中のglobal宣言が羅列されているあたりに適当に追記します。追記するとこのエラーは出なくなりますが、また別のエラーが出るので同じようにコードを追ってglobal宣言を追記します。

global $wp_registered_widgets, $wp_registered_widget_controls, $wp_registered_widget_updates, $_wp_deprecated_widgets_callbacks;

これを追記しました。
アバター
ryota
メンバー
メンバー
記事: 46
登録日時: 2009年9月10日(木) 03:08

Re: WordPress Integrator 導入エラー  【解決済み】

投稿記事by ryota » 2009年9月10日(木) 13:43

いつもありがとうございます。
おかげさまで無事解決いたしました。
yama様にはいつも助けていただいて感謝感謝です。
株式会社ar | ar design studio
http://www.arweb.jp/
http://www.ar-st.net/