だいぶ前に、「RSSフィードエラー解決しました」の記事で、RSS フィードエラーの原因がWordPressプラグインの「Advanced-Permalinks」であるとお伝えしたのですが、ようやく解決に至りました。
しかし、結論から言うと、Advanced-Permalinksのプラグインは古いので、WordPress 3.xには対応が認められていないため、permalink redirectやredirectionのプラグインを使った方が良いとの結論です。
どうしても、advanced-permalinksを使い続けたい方は、下記の修正を施すと、RSSフィードエラーを回避することを確認しましたのでご参考まで。
plugin/advanced-permalinks.phpのparse_request関数を下記のものに置き換えて下さい。
/** * Hook into the 'parse_request' action and check if our rewrite rules require a redirection * * @param array $vars Variables * @return array Variables **/ function parse_request ($vars) { // Have we triggered a redirect? if (isset ($vars->query_vars['redirect'])) { $didRedirect = false; if (isset ($vars->query_vars['author_name'])){ wp_redirect (get_author_posts_url (0, $vars->query_vars['author_name'])); $didRedirect = true; } else if (isset ($vars->query_vars['category_name'])){ wp_redirect (get_category_link (get_category_by_path ($vars->query_vars['category_name']))); $didRedirect = true; } if($didRedirect) die(); } // Workaround for WP 2.3 global $wp_db_version; if ($wp_db_version > 6000 && isset ($vars->query_vars['category_name'])) { $vars->query_vars['category_name'] = str_replace ('.html', '', $vars->query_vars['category_name']); $vars->matched_query = str_replace ('.html', '', $vars->matched_query); } return $vars; }
こちらを参考にさせて頂きました。
Advanced Permalinks Plugin RSS Feed Fix | Views From The Hill
Advanced Permalinks Plugin RSS Feedエラーを回避
コメント