PHP Fatal error: Uncaught Error: Call to undefined method WP_Error::get_items() in /path/to/wp-content/plugins/seo-ultimate/modules/sds-blog/sds-blog.php:42

WordPressのプラグイン「SEO Ultimate」に起因するエラーで一時間毎にエラーメールが届くようになってしまいました。エラーの内容は以下の通りです。

PHP Fatal error:  Uncaught Error: Call to undefined method WP_Error::get_items() in /path/to/wp-content/plugins/seo-ultimate/modules/sds-blog/sds-blog.php:42
Stack trace:
#0 /path/to/wp-includes/class-wp-hook.php(286): SU_SdsBlog->load_blog_rss()
#1 /path/to/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#2 /path/to/wp-includes/plugin.php(515): WP_Hook->do_action(Array)
#3 /path/to/wp-cron.php(126): do_action_ref_array('su-sds-blog-loa...', Array)
#4 {main}
  thrown in /path/to/wp-content/plugins/seo-ultimate/modules/sds-blog/sds-blog.php on line 42

エラーが発生しているのは /path/to/wp-content/plugins/seo-ultimate/modules/sds-blog/sds-blog.php というファイルの42行目。get_items()というメソッドが無いということなので、メソッドの存在をチェックして、メソッドがある場合のみ実行するように修正しました。

[修正前] if ($rss && $rss->get_items()) {
[修正後] if (method_exists($rss, 'get_items') && $rss->get_items()) {

WordPressを使っていると、プラグイン周りの不具合で色々ありますね。