WordPressで書いた記事をHTMLサイトで新着一覧として出力するため、Google Feed APIの代替手段で「jQuery Feeds」を使いました。
でも問題発生!
Googleキャッシュが更新されるまで記事一覧も更新されない。
そこでもう少し調べてみると、分単位でキックする方法がわかりました。
↓の記述より先にjQueryFeedsのライブラリ読み込んでます。
$(function(){
$('.feed').feeds({
feeds : {
feed1: "http://サイトURL/information/feed/?news=newsinfo&" + "?" + (new Date()).getTime()
},
max:5,
preprocess: function ( feed ) {
var date = new Date(this.publishedDate);
var dq = date.getMonth()+""+date.getDate()+""+date.getHours();
var yy = [date.getFullYear()];if (yy < 2000) { yy += 1900; }
var mm = [date.getMonth() + 1];if (mm < 10) {mm = "0" + mm;}
var dd = [date.getDate()];if (dd < 10) {dd = "0" + dd;}
this.publishedDate = yy +'/'+ mm +'/'+ dd;
},
entryTemplate : 'entryTmpl',
});
});
フィードURLのお尻に、現在の時刻をくっつけることで、刻々とURLが変わるという仕組みです。
アクセスする度にURLが異なるのでキャッシュのお世話にならない。すばらしい。
正直、下の方(varの記述あたり)って要らないのかもしれないけど、これで動いたのでこれでいいかなと。
おまけ
上記の内容だとHTMLの方はこうです。
<ul>
<div class="feed"></div>
</ul>
<script type="text/html" id="entryTmpl">
<li><a href="<!=link!>"><!=title!></a></li>
</script>
これだとタイトルだけのリストだから日付も付けたい時はこう書くといいです。
<dl>
<div class="feed"></div>
</dl>
<script type="text/html" id="entryTmpl">
<dt><!=publishedDate!></dt><dd><a href="<!=link!>"><!=title!></a></dd>
</script>
コメントを残す