最近では、ECサイトの新規ユーザーの獲得やリピーターの増加を目的に、WordPress等を使ってオウンドメディアを運営するECサイトも増えてきました。その際、トップページなどにWordPressのRSSを表示させたいときってありますよね。
そんなときに役立つのが『Google Feed API』です。
非常に簡単に、RSSをjavascriptで取得し新着記事をトップページなどに表示させることができます。
ステップ1:head内の記述
記事を表示させたいページのhead内に以下のコードを記述します。
<script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> /* * Read RSS Feed Plugin * via Google Feed Control *============================*/ google.load("feeds", "1"); var FA = new Array( //配列です。以下に、取得したいRSSフィードを書きます。 "フィードのURL" ); function initialize() { var feedsArr = new Array(); var numEntr = 8; var container = document.getElementById("feed"); var cnt = FA.length; for (var k=0; k<FA.length; k++) { var feed = new google.feeds.Feed(FA[k]); feed.setNumEntries(numEntr); feed.setResultFormat(google.feeds.Feed.JSON_FORMAT); feed.load(function(result) { if (!result.error) { for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; var eimg = ""; var imgCheck = entry.content.match(/(http:){1}[\S_-]+((\.png)|(\.jpg)|(\.JPG)|(\.gif))/); //データを取得する拡張子を指定 if(imgCheck){ eimg += imgCheck[0]; //配列の1番目に格納されたデータを取得(つまり、1枚目の画像を取得) } else { eimg += ''; //画像が取得できなかった場合の代替画像のURLを指定 } var attributes = ["title", "link", "publishedDate", "contentSnippet"]; var ind = feedsArr.length; feedsArr[ind] = new Array(); feedsArr[ind][0] = Date.parse(entry[attributes[2]]); // 日付でソート(並び替え) feedsArr[ind][1] = entry[attributes[1]]; // link feedsArr[ind][2] = entry[attributes[2]]; // publishedDate feedsArr[ind][3] = entry[attributes[3]]; // contentSnippet feedsArr[ind][4] = entry[attributes[0]]; // title feedsArr[ind][5] = result.feed.title; // site title feedsArr[ind][6] = eimg; // thumbnail } } cnt--; if (cnt == 0) { feedsArr.sort(); feedsArr.reverse(); for (var j = 0; j < feedsArr.length; j++) { var aE = document.createElement("A"); var h4 = document.createElement("H4"); var li = document.createElement("li"); aE.href=aE.title=feedsArr[j][1]; // リンク var img_link = document.createElement("img"); img_link.setAttribute("src", feedsArr[j][6] ); // サムネイル画像 img_link.setAttribute("width", "150" ); img_link.setAttribute("height", "150" ); aE.appendChild(img_link); //img(画像)タグを出力 h4.appendChild(document.createTextNode(feedsArr[j][4])); // 記事タイトル li.appendChild(aE); aE.appendChild(h4); container.appendChild(li); aE.setAttribute("class", "btn-img" ); li.setAttribute("class", "grid-span6 grid-col list-holizontal" ); } } }); } } google.setOnLoadCallback(initialize); </script>
ステップ2:HTMLの記述
ページ上のRSSを表示させたい場所に以下を記述します。
<div id="feed"></div>
終わりに
以上で完了です。
サムネイル画像のサイズや、タイトルの記載方法など独自でアレンジしてご利用ください。