WordPressのRSSを任意のRSSフィードに変更する
WordPressは標準でRSS2.0のフィードを出力して通知していますが、このRSSをFeedBurnerなど任意のRSSに変更する場合の手順をご紹介します。
※RSSを出力するのを止めるのではなく、ブラウザやRSSリーダなどにRSSの場所を教えるHTMLタグを変更します。
- テンプレートを編集してRSSを指定するタグが自動出力されないようにする
「wp-content/themes/テーマフォルダ/header.php」の「wp_head();」の前に次の記述を追加します。(※標準テーマの「Twenty Ten」を使用している場合、52行目付近にあります。)
// ブログ全体とコメントのフィードを変更する場合 remove_filter('wp_head', 'feed_links', 2); // カテゴリーアーカイブやページのコメントフィードも変更する場合 remove_filter('wp_head', 'feed_links_extra', 3); // この前に追加します; wp_head(); ?> </head>
参考:
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_head
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/remove_filter - テンプレートに代わりのRSSを指定するタグを記述する
「wp-content/themes/テーマフォルダ/header.php」のスタイルシート等を読み込んでいるタグの後ろに、任意のRSSを指定するタグを追加します。(※任意のRSSのURLを確認して指定してください。)
<link rel="profile" href="http://gmpg.org/xfn/11" /> <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" /> <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" /> // この次の辺りに追加(※titleも「ブログ名 フィード」など任意で指定します。) <link rel="alternate" type="application/rss+xml" title="My TEST blog Feed" href="http://xxx.xxxxx.jp/example/feed/" /> // コメントのフィード <link rel="alternate" type="application/rss+xml" title="My TEST blog CommentFeed" href="http://xxx.xxxxx.jp/example2/feed/" />
※テンプレートに日本語を記述した場合は、ファイルの文字コードをUTF-8にして保存してください。
「wp_head」から「feed_links_extra」を除去して、カテゴリーアーカイブやページのフィードのタグを出力しないようにした場合は、同じように手動で記述を追加します。
次のように条件分岐で該当するカテゴリーアーカイブやページを表示している時にだけ、タグが出力されるようにするといいです。<?php // カテゴリーID3のアーカイブページを表示している場合 if(is_category('3')) { $blog_name = get_bloginfo(name); $cat_name = wp_title('', false); echo "<link rel=\"alternate\" type=\"application/rss+xml\" title=\"" .$blog_name . $cat_name . " CategoryFeed\" href=\""; echo "http://xxx.xxxxx.jp/example3/feed/\" />\n"; } // ページID7のページを表示している場合 if(is_page('7')) { $blog_name = get_bloginfo(name); $page_title = wp_title('', false); echo "<link rel=\"alternate\" type=\"application/rss+xml\" title=\"" .$blog_name . $page_title . " PageCommentFeed\" href=\""; echo "http://xxx.xxxxx.jp/example4/feed/\" />\n"; } // この前の辺りに追加します。 /* We add some JavaScript to pages with the comment form * to support sites with threaded comments (when in use). */ if ( is_singular() && get_option( 'thread_comments' ) )
参考:
http://wpdocs.sourceforge.jp/Conditional_Tags
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_title
なお、ウィジェットのメタ情報を表示している人は、ウィジェットも変更する必要があります。
メタ情報ウィジェットは、記事全体のRSSとコメントのRSSのリンクも出力しているので。
その記事はまた次回・・・