zRssFeedを使って、自分が管理するWebサイトにこのブログ(Wordpress 3.1.4)が生成するRSSを読み込んだんですが、コンテンツ概要の最後の「続きを読む …」の<a>タグが削除されてしまっています。
「続きを読む …」となっているのに続きが読めないのは困ります。
で、ソース(jquery.zrssfeed.js)を調べてみたところ、zRssFeedはGoogle Feed API を使っているようで…、Google Feed APIでは”コンテンツの概要”( contentSnippet )にHTMLタグは使えないっぽいです。知りませんでした。
参考ページ:
フィードからタイトルやエントリを取得 – フィードの取得 – Google AJAX Feed API入門
ということで、jquery.zrssfeed.js の以下の部分を修正してリンクテキストを復活させたので、その備忘録。
修正前
// Use feed snippet if available and optioned if (options.snippet && entry.contentSnippet != '') { var content = entry.contentSnippet; } else { var content = entry.content; } html += '<p class="feed-entry-content">'+ content +'</p>'
コンテンツ概要がRSSフィードにあるので、自動的に概要が表示されるんでしょうかね。
修正後
// Use feed snippet if available and optioned if (options.snippet && entry.contentSnippet != '') { var content = entry.contentSnippet; //↓この行を新規に追加 content = content.replace(/(続きを読む ...)/,'<a href="'+entry.link+'">$1</a>'); } else { var content = entry.content; } html += '<p class="feed-entry-content">'+ content +'</p>'
ただの文字列「続きを読む …」を正規表現を使って「<a href=”entry.link”>続きを読む …</a>」に置換します。
“entry.link”はGoogle Feed API で該当記事へのリンクURLを示しています。
「続きを読む …」の文字列は、CMSやブログサービス毎に生成される文字列が違うと思うので、そこは適宜変更してください。
これで無事にリンクテキストが表示されました。