[閒聊] Blogger 的相同標籤相關文章列表

常常逛很多部落格文末都會有相關的文章列表
剛剛心血來潮忽然想看看 blogger 是否有這項功能
利用幾個關鍵字搜尋了一下~ 真的被我找到了!
一開始我搜尋標籤雲... 方向錯誤 還好一下子就捨棄了 XD

我參考的是這篇 在Blogger文章下方顯示相關文章

照著改了一兩次就成功了~~~
基本上要注意的就是在修改 HTML 的時候一定要勾選 "開啟小裝置範本"
這樣才會搜尋到要更換的語法片段

為了怕參考文章消失... 手動存檔於本篇!!!
詳細說明請參閱原文 http://victor8314.pixnet.net/blog/post/18965073

於 </head> 前置入下列語法
<script type='text/javascript'> //<![CDATA[ <!-- Script functions for Related Posts: RelatedLabels(), RemoveDuplicatedPosts(), contains(), ShowRelatedPosts()--> var relatedPostsNum = 0; var relatedTitles = new Array(); var relatedUrls = new Array(); var relatedDates = new Array(); function RelatedLabels(json) {   for (var i = 0; i < json.feed.entry.length; i++) {     var entry = json.feed.entry[i];     relatedTitles[relatedPostsNum] = entry.title.$t;     relatedDates[relatedPostsNum] = entry.published.$t.substr(0,10);     for (var j = 0; j < entry.link.length; j++) {       if (entry.link[j].rel == 'alternate') {         relatedUrls[relatedPostsNum] = entry.link[j].href;         relatedPostsNum++;         break;       }     }   } function RemoveDuplicatedPosts(PostUrl) {   var tmpUrls = new Array(0);   var tmpTitles = new Array(0);   var tmpDates = new Array(0);   function contains(a, e) {     for(var j = 0; j < a.length; j++)       if (a[j]==e)         return true;     return false;   }   for(var i = 0; i < relatedUrls.length; i++) {     if(!contains(tmpUrls, relatedUrls[i]) && PostUrl != relatedUrls[i]) {       tmpUrls.length += 1;       tmpUrls[tmpUrls.length - 1] = relatedUrls[i];       tmpTitles.length += 1;       tmpTitles[tmpTitles.length - 1] = relatedTitles[i];       tmpDates.length += 1;       tmpDates[tmpDates.length - 1] = relatedDates[i];    }   }   relatedTitles = tmpTitles;   relatedUrls = tmpUrls;   relatedDates = tmpDates; function ShowRelatedPosts(PostUrl) {   RemoveDuplicatedPosts(PostUrl);   var r = Math.floor((relatedTitles.length - 1) * Math.random());   var i = 0;   if (relatedTitles.length > 0) {     document.write('Related Posts: <ul>');     while (i < relatedTitles.length && i < 5) {       document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] + '</a> - ' + relatedDates[r] + '</li>');       if (r < relatedTitles.length - 1)         r++;       else         r = 0;       i++;     }     document.write('</ul>');   } //]]> </script>


搜尋下列語法
<b:if cond='data:post.labels'> <data:postLabelsLabel/> <b:loop values='data:post.labels' var='label'> <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if> </b:loop> </b:if>
整段置換成下列語法
<b:if cond='data:post.labels'> <data:postLabelsLabel/> <b:loop values='data:post.labels' var='label'> <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>     <!-- Fixed for Related Posts -->     <b:if cond='data:blog.pageType == "item"'>        <script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&amp;callback=RelatedLabels&amp;max-results=10"' type='text/javascript'/> </b:if> </b:loop> </b:if><!-- Fixed for Related Posts --> <b:if cond='data:blog.pageType == "item"'>   <script type='text/javascript'>     ShowRelatedPosts(&#39;<data:post.url/>&#39;);   </script> </b:if>







熱門文章