BackWPupを3.0.10にアップデートしたところ、致命的なエラーが発生してしまいました。
Fatal error: Call to undefined method stdClass::add_role() in /home/*****/www/wp-content/plugins/backwpup/inc/class-install.php on line 94
CPIサーバーにインストールしたwordpress3.5.1では問題なく使えましたが、さくらインターネットのサーバーにインストールしていた3.4.2で致命的なエラーが発生してます。おそらくwordpressのバージョンに起因する問題だと思います。
こちらのフォーラムであげられていた解決策を試してみたところ、問題なく動作するようになったので、備忘録としてメモしておきます。
/plugins/backwpup/inc/class-install.phpを修正します。
92-94行目
1 2 3 4 |
$users = get_users( array( 'blog_id' => 1, 'role' => 'administrator' ) ); foreach ( $users as $user ) { $user->add_role( 'backwpup_admin' ); } |
ここを以下のように修正。
1 2 3 4 5 6 |
$users = get_users( array( 'blog_id' => 1, 'role' => 'administrator', 'fields' => 'all_with_meta' ) ); if ( ! empty( $users ) && count( $users ) > 0 ) { foreach ( $users as $user ) { $user->add_role( 'backwpup_admin' ); } } |
これでOKです。
backWPupはすごく便利なプラグインなのですが、ver3系にアップデートされてからトラブルが頻発しているように思います。
はやく安定してくれるよう祈ります。