お知らせ

PHPによるWordPressカスタマイズブック2009年9月8日

PHPによるWordPressカスタマイズブック」が発売されました。
WordPressのテンプレートにPHPのプログラムを書いてカスタマイズする方法や、WordPressのデータベースにPHPでアクセスする方法、またWordPressのプラグインの開発方法など、WordPressをより深く活用したい方に最適な一冊です。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

Movable Type 4.2以降でRSS 2.0のフィードを配信する

| コメント(6) | トラックバック(5)

Movable Type 4.2以降では、RSS 2.0のテンプレートが廃止されています。
ただ、場合によっては、RSS 2.0のフィードも配信したいことがあります。
その方法を紹介します。

1.RSS 2.0のテンプレートの作成

まず、RSS 2.0のテンプレートを作ります。

インデックステンプレートを新規作成し、テンプレート名を「RSS 2.0」、出力ファイル名を「index.xml」として、テンプレートの内容の欄に以下のソースを貼り付けます。

<$MTHTTPContentType type="application/rss+xml"$><?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<rss version="2.0">
    <channel>
        <title><$MTBlogName remove_html="1" encode_xml="1"$></title>
        <link><$MTBlogURL$></link>
        <description><$MTBlogDescription remove_html="1" encode_xml="1"$></description>
        <language><$MTBlogLanguage ietf="1"$></language>
        <copyright>Copyright <$MTDate format="%Y"$></copyright>
        <lastBuildDate><MTEntries lastn="1"><$MTEntryDate format_name="rfc822"$></MTEntries></lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        <MTEntries lastn="15">
        <item>
            <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
            <description><$MTEntryBody encode_xml="1"$></description>
            <link><$MTEntryPermalink encode_xml="1"$></link>
            <guid><$MTEntryPermalink encode_xml="1"$></guid>
            <MTEntryCategories>
                <category domain="http://www.sixapart.com/ns/types#category"><$MTCategoryLabel remove_html="1" encode_xml="1"$></category>
            </MTEntryCategories>
            <MTEntryIfTagged><MTEntryTags>
                <category domain="http://www.sixapart.com/ns/types#tag"><$MTTagName remove_html="1" encode_xml="1"$></category>
            </MTEntryTags></MTEntryIfTagged>
            <pubDate><$MTEntryDate format_name="rfc822"$></pubDate>
        </item>
        </MTEntries>
    </channel>
</rss>

rss.png

2.RSS 2.0へのリンクを出力する

次に、サイドバー等にRSS 2.0へのリンクを出力するようにして、ブログの読者がRSS 2.0のフィードをRSSリーダーに登録しやすくなるようにします。
リンクを出力したい位置に、以下のようなタグを入れます。

<a href="<$mt:BlogURL$>index.xml">RSS 2.0</a>

例えば、Movable Type 4.25の標準テンプレートセットだと、「購読」というウィジェットに、以下のようにAtomのフィードのリンクを出力する部分があります。

<li><img src="<$mt:StaticWebPath$>images/status_icons/feed.gif" alt="購読する" width="9" height="9" /> <a href="<$mt:Link template="feed_recent"$>">このブログを購読</a></li>

この部分を以下のように書き換えれば、AtomとRSS 2.0の両方のリンクを出力することができます。

<li><img src="<$mt:StaticWebPath$>images/status_icons/feed.gif" alt="購読する(Atom)" width="9" height="9" /> <a href="<$mt:Link template="feed_recent"$>">このブログを購読(Atom)</a></li>
<li><img src="<$mt:StaticWebPath$>images/status_icons/feed.gif" alt="購読する(RSS 2.0)" width="9" height="9" /> <a href="<$mt:BlogURL$>index.xml">このブログを購読(RSS 2.0)</a></li>

3.RSS 2.0のフィードを検知できるようにする

最近のWebブラウザでは、WebページのHTMLからフィードの情報を検知して、アドレスバーにフィードのアイコンを表示する機能があります。
この機能に対応させて、RSS 2.0のフィードを検知できるようにするには、HTMLのヘッダーを
出力する部分に以下のタグを出力します。

<link rel="alternate" type="application/rss+xml" title="RSS" href="<$mt:BlogURL$>index.xml" />

例えば、Movable Type 4.25の標準テンプレートセットだと、「HTMLヘッダー」というテンプレートモジュールに、以下のようにAtomのフィードの情報を出力する部分があります。

<link rel="alternate" type="application/atom+xml" title="Recent Entries" href="<$mt:Link template="feed_recent"$>" />

この部分を以下のように書き換えることで、AtomとRSS 2.0の両方のフィードを、Webブラウザに検知させることができます。

<link rel="alternate" type="application/atom+xml" title="Recent Entries(Atom)" href="<$mt:Link template="feed_recent"$>" />
<link rel="alternate" type="application/rss+xml" title="Recent Entries(RSS 2.0)" href="<$mt:BlogURL$>index.xml" />

トラックバック(5)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1685.

きょうきゅうはいしん RSS2.0のフィードを配信しだしました。 続きを読む

MovableType備忘録 Movable Type4ではAtomは実装されて... 続きを読む

Movable Typeの初期設定では、AtomのみでRSSファイルって無いんで... 続きを読む

Soh-Web MovableTypeを中心にWeb制作のメモ 趣味のCG制作 - MT4.2のRSSの配信方法を変える (2010年3月 5日 01:07)

このブログを作り始めた時からどうにもRSSの調子が良くないと思ってまして。 何故かFireFoxでうまく受信できなかったんですよ。 で、RSS配信用のx... 続きを読む

Non-bogはちょっと前に人気ブログランキングに参加してみたんです。 なんかランキングボタンにちょっと憧れたの(^O^) で、今日ふと気がついたんだけど... 続きを読む

コメント(スレッド4件,コメント6件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.3 ナナ : (無題)

はじめまして、いつも見ています^^

先日、私もMTでブログ作りを始めました。
ランキングに参加しているのですが、ping送信がうまく出来ていないようで、最新記事が反映していません。

そこでAtomではなく、こちらの記事を参考にさせてもらいながら
RSS2.0を追加してみましたが、
これも反映してくれなくて・・・汗

RSS1.0の追加方法はありますか?

No.4  : (無題)

>ナナさん
こんにちは。

Ping送信は、AtomやRSSの情報を送信するものではないので、問題は別のところにあるのではないかと思います。

No.5 ナナ : (無題)

お返事ありがとうございます♪

そうなのですか・・
何を修正していいのかさっぱり分からなくて・・(´・ω・`)
もう少し考えてみます。
RSS1.0も検索して調べてみたのですが、どのやり方もエラーになってしまって(=艸=。)
むずかしいです。

No.6 ティム : (無題)

こちらのサイトは大変重宝しています。

今回も、RSS2.0の設定で参考にさせていただきました。
説明どおりに作業を行いましたが、サイドバーの「このブログを購読(RSS 2.0)」をクリックすると「URLがみつかりません」となってしまいます。

MTをインストールする際に、通常 ~.com/mt/とするところを~.com/blogとしたのが影響しているのでしょうか。

お教えください。

No.7  : (無題)

>ティムさん
こんにちは。

もう一度、記事内の作業手順をよく確認してみてください。
それでも「URLが見つかりません」と表示されるとなると、申し訳ありませんが原因不明です。

No.8 ティム : (無題)

「index.xml」を何度か作成しなおしたところ、無事成功しました。

ありがとうございました。

コメントする