以前の職場で10ページ程度のサイトをコーディングする機会があり、そのサイトはほぼ静的ページなのだが、お知らせページのみWordpressで更新できるような作りのものだった。
そしてお知らせの一覧をトップページに載せるということだったので、Feed2jsというフリーのツールを使用して実装することに。
その時の手順や注意点(はまったところ)について、まとめておきたいと思います。
Feed2jsの導入
Feed2jsは、特にダウンロードしてサーバーにアップしなくても簡単に導入できるのですが、今回は自社サーバーがあるのと多少のカスタマイズの必要があったので、そちらのやり方で説明を進めます。
- Feed2jsにアクセス
- DownloadタブをクリックしInstallationの「1. Get the Latest Source Code now available on GitHab」から GitHubをクリック
- Cloen or DownloadからDownload ZIPをクリックしダウンロードし解凍する
- 解凍したファイルをサーバの任意の場所にアップロード
- 以下のファイルのパーミッションを755に変更
(パーミッションの設定はサーバーによって異なりますので、ご確認ください。)- build.php
- feed2js.php
- feed2js_config.php
- magpie_debug.php
- magpie_simple.php
- nosource.php
- preview.php
- style.php
- style_preview.php
- magpieディレクトリにある cache と cache_utf8 のパーミッションを 777に変更
- Feed2JS が正常に動作するかhttp://[あなたのサイトのdomain]/feed2js/magpie_debug.phpへアクセスしテストする
これでOKがでればインストール完了です。
RSSの設定
次に表示させるRSS設定を行うため、http://[あなたのサイトのdomain]/feed2js/build.phpへアクセスし以下を設定します。
- URL
表示させたい RSSフィードの URL を記入します。 - Show channel?
yes:タイトルと説明を表示/title:タイトルのみ表示/no:表示しない - Number of items to display
記事の表示件数を設定します。0 の場合は RSS に記述された全てを表示 - Show/Hide item descriptions? How much?
各記事概要の表示文字数を設定します。 - Use HTML in item display?
内容中の HTML の処理の仕方 - Show item posting date?
日付表示 - Time Zone Offset
タイムゾーンの設定。日本の場合は、”+9″ を設定。RSS のタイムゾーンを使用する場合、”feed” を設定。 - Target links in the new window?
リンク先ページを表示するウィンドウを設定。 - UTF-8 Character Encoding
UTF-8 エンコードの可否。 - Podcast enclosures
RSS 2.0 フィードの enclosure 要素について、メディアファイルのリンクを表示 - Custom CSS Class
スタイルシートを適用するためのクラス名設定。
これらを設定し終わったら「Preview Feed」をクリックすれば実際の表示を確認できます。
これで問題ないようでしたらGenerate JavaScript」をクリックして、表示されたページ内の「Get Your Code Here」の下にある JavaScript をコピーして、サイトの表示したい位置に貼り付ければ完成。
Feed2js導入後の注意点
Feed2jsを導入後、Wordpressで記事を投稿したり削除したりしても上手くRSSを取得して表示できないという問題が発生し、完全にはまってしまいました。
なぜこのような事が起こったのかというと、インストールの際の「magpieディレクトリにある cache と cache_utf8 のパーミッションを 777に変更」が原因でした。
Feed2jsはキャッシュがかなり頑固にのこってしまい、なかなかリフレッシュしないようなのです。
この対処方法としては、cache と cache_utf8 のディレクトリごと削除するか、パーミッションを書き込み不可に設定することで、きちんと動作するようになります。