Related posts widget with title and comments number hovering effect
In today tutorial I will show you how to add a related post widget bellow your post. I received many comments about this so finally I decided to post the tutorial. It a very nice widget with a little hover effect meaning when you hover on a related post it will show both the title and the comments number you have received on that post. You can see a demo on my blog just scroll to the bottom of this post.
How to create nice related post widget?
1. Log in to your Dashboard--> Template- -> Edit HTML
2. Click on "Expand Widget Templates"
3. Search "Ctrl+F" and find ]]></b:skin>. Before it paste the code:
/* Related Post Widget */ #related-posts{ float:left; height:160px; margin-bottom:10px; outline: 1px solid #fff; border: 1px solid #ddd; background: #f9fafb; } #related-posts h3{ font-family: Francois One; font-size:20px; font-weight:400; color: #222222; margin-bottom: 0.5em; margin-top: 0.5em; margin-left: 0.5em;; padding-top: 0em; } #related-posts ul{ margin:5px; width:613px; padding-left:17px; list-style:none; display:block; } #related-posts ul li{ list-style:none; position:relative; float:left; border:0 none; margin-right:11px; padding:2px; width:86px; } #related-posts ul li:hover{z-index:100} #related-posts ul li:hover img{border:3px solid #BBB} #related-posts ul li:hover div{ font-size:7px; text-transform:capitalize; position:absolute; top:20px; left:-15px; margin-left:0; width:130px } #related-posts ul li img{ border:3px solid #DDD; width:80px; height:80px; background:#FFF; display:block; } #related-posts ul li div{ position:absolute; z-index:99; margin-left:-999em } #related-posts ul li .title{ text-align:center; border:1px dotted #CCC; background:#fff; padding:5px 10px }
You can play with the values on the CSS to align better in your page , or to change the dimension of the widget, change the font etc.
4. Find the <data:post.body/> and after it paste the next code:
<b:if cond='data:blog.pageType == "item"'> <div id='related-posts'> <script type='text/javascript'>var ry='<h3>Other Tutorials For You To See:</h3>';rn='<h3>No Related Posts </h3>';rcomment='Comment';rdisable='Comments off';commentYN='yes';</script> <script type='text/javascript'> //<![CDATA[ var nothumb='http://lh4.ggpht.com/_u7a1IFxc4WI/TTjruHJjcfI/AAAAAAAAAk0/i11Oj6i_bHY/no-image.png';dw='';titles=new Array();titlesNum=0;urls=new Array();time=new Array();thumb=new Array();commentsNum=new Array();comments=new Array();function related_results_labels(c){for(var b=0;b<c.feed.entry.length;b++){var d=c.feed.entry[b];titles[titlesNum]=d.title.$t;for(var a=0;a<d.link.length;a++){if('thr$total' in d){commentsNum[titlesNum]=d.thr$total.$t+' '+rcomment}else{commentsNum[titlesNum]=rdisable};if(d.link[a].rel=="alternate"){urls[titlesNum]=d.link[a].href;time[titlesNum]=d.published.$t;if('media$thumbnail' in d){thumb[titlesNum]=d.media$thumbnail.url}else{thumb[titlesNum]=nothumb};titlesNum++;break}}}}function removeRelatedDuplicates(){var b=new Array(0);c=new Array(0);e=new Array(0);f=new Array(0);g=new Array(0);for(var a=0;a<urls.length;a++){if(!contains(b,urls[a])){b.length+=1;b[b.length-1]=urls[a];c.length+=1;c[c.length-1]=titles[a];e.length+=1;e[e.length-1]=time[a];f.length+=1;f[f.length-1]=thumb[a];g.length+=1;g[g.length-1]=commentsNum[a]}}urls=b;titles=c;time=e;thumb=f;commentsNum=g}function contains(b,d){for(var c=0;c<b.length;c++){if(b[c]==d){return true}}return false}function printRelatedLabels(a){for(var b=0;b<urls.length;b++){if(urls[b]==a){urls.splice(b,1);titles.splice(b,1);time.splice(b,1);thumb.splice(b,1);commentsNum.splice(b,1)}}var c=Math.floor((titles.length-1)*Math.random());var b=0;if(titles.length==0){dw+=rn}else{dw+=ry;dw+='<ul>';while(b<titles.length&&b<20&&b<maxresults){if(commentYN=='yes'){comments[c]=' - '+commentsNum[c]}else{comments[c]=''};dw+='<li><a href="'+urls[c]+'" rel="nofollow"><img alt="'+titles[c]+'" src="'+thumb[c]+'"/></a><div class="title"><a href="'+urls[c]+'" rel="nofollow"><h2>'+titles[c]+'</h2></a><span>'+time[c].substring(8,10)+'/'+time[c].substring(5,7)+'/'+time[c].substring(0,4)+comments[c]+'</span></div></li>';if(c<titles.length-1){c++}else{c=0}b++}dw+='</ul>'};urls.splice(0,urls.length);titles.splice(0,titles.length);document.getElementById('related-posts').innerHTML=dw}; //]]> </script> <b:loop values='data:post.labels' var='label'> <script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=related_results_labels"' type='text/javascript'/> </b:loop> <script type='text/javascript'>var maxresults=6;removeRelatedDuplicates();printRelatedLabels('<data:post.url/>');</script> </div> <div style='clear both'/> </b:if>
Save your template and see the result.
23 comments
Thanks for you tutor !!
I like it :)
and visit back my blog...
Thank you very much admin to reply to my request and for your generosity
@AdministrateurGlad I could help you.
Very cool..
I want to try it..
thanks master
Hi, the widget does not work.
Rather, it works but not as it should.
Nose if you can fix it according to my template. If you can put color and that, and that nose to do ....
Please tell me if you can make your.
You pass the blog for you to see http://titulomayor.blogspot.com
I hope you can help me ... thanks
@MohamedtSend me the template.
lookin good nice widget now i am going add this thing into my blog
thanks for share dude @_@
@ArtisTutor
I send the template.
Thanks
@Mohamedthi, i send you my template some days ago, were you able to do some changes to it?
Thanks
@MohamedtYes, I send it back to you .
Hi admin
How do I make my first post look different from the rest
thanks a lot...
how do I change the script, if I just want to show 4 post in the widget.?
@AriezFind var maxresults=6 and replace 6 with 4
Thanks so much. I have added many features to my blog with help of your tutorials.
I can't find
I use blogspot.
Tanya
hey how to change the width......
Thanxs...
I really loved this.
How to filter current post we are viewing from related posts results.
e.g. If we are viewing
http://bollypicnic.blogspot.in/2012/08/sherlyn-chopra-featuring-on-cover-of.html
How to prevent this post from appearing in Related posts results.
cool, it's very simple and fast load :D
Another amazing tutorial!! Thanks a lot
Hello!
Got lost on the feet, on the Internet search.
But could not find this widget.
I have in dlogspot are two of your widget http://www.b-f.com.ua/ , I'm very satisfied with them, thank you. But now I am mastering the word pres? and would very much like to put there your widgets, Other Tutorials For You To See: and Popular Posts. Could you help with the code for WordPres, and at the same time supporting where to insert. Template зделан on Artisteer 4.0.0.58475.За previously thank you very much.
Yours Sincerely Vladimir
@VladimirThis tutorials are only for Blogger. They don't work on WordPress.
thanks gan, bermanfaat sekali
Click to Add a New Comment
Leave your comment
- If you're asking a question click the Subscribe By Email link, below the comment form, to be notified of replies.
- Do NOT add links to the body of your comment as they will not be published.
- Only the comments posted in ENGLISH will be approved.
- If you have a problem check first the comments , maybe you will find the solution there.