環境情報:
Apache:Ver 2.2.3
PHP:Ver 5.1.6
MySQL:Ver 5.0.22
MODx:1.0.4J-r1
WordPress:2.9.2-ja → 3.0.4-ja
先日 WordPress Integrator で MODx に統合している WordPress を 2.9.2-ja から 3.0.4-ja に自動アップグレードしたところ、以下のエラーが出力され正常に表示されなくなりました。
※一部省略させていただきます。
以下のサイトを参考にグローバル変数を追加したのですが、現象が回避されません。Fatal error: Call to a member function register() on a non-object in *snip*/wp/wp-includes/widgets.php on line 431
http://nanabit.net/modx/wordpress-integrator/
http://forum.modx.jp/viewtopic.php?f=7&t=91
http://forum.modx.jp/viewtopic.php?f=7&t=390
http://forum.modx.jp/viewtopic.php?p=2260
実際に追加したのは以下のグローバル変数です。
global $nextpage,$prevpage;
global $wp_widget_factory;
global $wp_embed;
global $allowedentitynames;
以下はもともとあったので追加していません。
global $wp_registered_widgets, $wp_registered_widget_controls, $wp_registered_widget_updates, $_wp_deprecated_widgets_callbacks;
最終的に Wordpress integrator 1.2.3 + global $allowedentitynames; と同等になる事を diff で確認しました。
apache のエラーログのスタックトレースは以下です。
※一部省略させていただきます。
まだグローバル変数の追加が足りていないのでしょうか?1 0.0019 72260 {main}( ) ../index.php:0
2 0.0307 1260120 DocumentParser->executeParser( ) ../index.php:134
3 0.0602 1608096 DocumentParser->prepareResponse( ) ../document.parser.class.inc.php:1115
4 0.0878 1901268 DocumentParser->outputContent( ) ../document.parser.class.inc.php:1206
5 0.0878 1901344 DocumentParser->parseDocumentSource( ) ../document.parser.class.inc.php:440
6 0.0879 1907472 DocumentParser->evalSnippets( ) ../document.parser.class.inc.php:1007
7 0.0931 1902064 DocumentParser->evalSnippet( ) ../document.parser.class.inc.php:861
8 0.0936 2024868 eval( *snip* ) ../document.parser.class.inc.php:770
9 0.0941 2043112 require_once( '*snip*/wp-config.php' ) ../document.parser.class.inc.php(770) : eval()'d code:83
10 0.0956 2116068 require_once( '*snip*/wp-settings.php' ) ../wp-config.php:82
11 0.8450 26802264 do_action( ) ../wp-settings.php:283
12 0.8657 26815436 call_user_func_array ( ) ../plugin.php:395
13 0.8657 26815564 wp_widgets_init( ) ../plugin.php:0
14 0.8657 26815612 register_widget( ) ../default-widgets.php:1132
お分かりになる方がいらっしゃったらご教授いただきたいと思います。
以上、よろしくお願いいたします。