How to add Related Posts by Categories in your blog

How to add Related Posts by Categories in your blog

Enter you Blogger account:
Now head on to Blogger.com and sign in to your account.
Go to Edit HTML:
In the Dashboard, pick out your blog and go to Design/Layout > Edit HTML.
Expand the widget template:
When landing to the Edit HTML page, you will see a small box with the sentence “Expand Widget Templates”. Now press it.

Make a back up template:
Okay, before making any attempt to edit your blog template, I strongly insist you to make a back up template, just in case if later, you want to revert back the template to the first condition.
Look around for the code:
Okay, now let’s play around with the code template. By pressing Ctrl + F, now find the code below:
<data:post.body/></b:if>
or
<data:post.body/>
</b:if>
Place the code section:
<data:post.body/>
Place the code section
</b:if>
The code section:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div class='related_posts'>
<!-- *****************http://blogger.com*****Jan,2007****************** -->
<!-- *****************Related Articles by Labels - Take Two****************** -->
<!--
                                                1. Now, users don't need to change anything to use this widget. just copy and paste, and done!
                                                2. The current article will also be listed, now it's no more.
                                                -->

                                                <div class='widget-content'>
                                                <h4>Related Posts by Categories</h4>
                                                <div id='data2007'/><br/><br/>
                                                            <script type='text/javascript'>

                                                            var homeUrl3 = &quot;<data:blog.homepageUrl/>&quot;;
                                                            var maxNumberOfPostsPerLabel = 10;
                                                            var maxNumberOfLabels = 2;

                                                            maxNumberOfPostsPerLabel = 10;
                                                            maxNumberOfLabels = 2;


                                                            function listEntries10(json) {
                                                              var ul = document.createElement(&#39;ul&#39;);
                                                              var maxPosts = (json.feed.entry.length &lt;= maxNumberOfPostsPerLabel) ?
                                                                             json.feed.entry.length : maxNumberOfPostsPerLabel;
                                                              for (var i = 0; i &lt; maxPosts; i++) {
                                                                var entry = json.feed.entry[i];
                                                                var alturl;

                                                                for (var k = 0; k &lt; entry.link.length; k++) {
                                                                  if (entry.link[k].rel == &#39;alternate&#39;) {
                                                                    alturl = entry.link[k].href;
                                                                    break;
                                                                  }
                                                                }
                                                                var li = document.createElement(&#39;li&#39;);
                                                                var a = document.createElement(&#39;a&#39;);
                                                                a.href = alturl;

                                                                        if(a.href!=location.href) {
                                                                                    var txt = document.createTextNode(entry.title.$t);           
                                                                                    a.appendChild(txt);
                                                                                    li.appendChild(a);
                                                                                    ul.appendChild(li);         
                                                                        }
                                                              }
                                                              for (var l = 0; l &lt; json.feed.link.length; l++) {
                                                                if (json.feed.link[l].rel == &#39;alternate&#39;) {
                                                                  var raw = json.feed.link[l].href;
                                                                  var label = raw.substr(homeUrl3.length+13);
                                                                  var k;
                                                                  for (k=0; k&lt;20; k++) label = label.replace(&quot;%20&quot;, &quot; &quot;);
                                                                  var txt = document.createTextNode(label);
                                                                  var h = document.createElement(&#39;b&#39;);
                                                                  h.appendChild(txt);
                                                                  var div1 = document.createElement(&#39;div&#39;);
                                                                   div1.appendChild(h);
                                                                  div1.appendChild(ul);
                                                                  document.getElementById(&#39;data2007&#39;).appendChild(div1);
                                                                }
                                                              }
                                                            }
                                                            function search10(query, label) {

                                                            var script = document.createElement(&#39;script&#39;);
                                                            script.setAttribute(&#39;src&#39;, query + &#39;feeds/posts/default/-/&#39;
                                                             + label +
                                                            &#39;?alt=json-in-script&amp;callback=listEntries10&#39;);
                                                            script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;);
                                                            document.documentElement.firstChild.appendChild(script);
                                                            }

                                                            var labelArray = new Array();
                                                            var numLabel = 0;

                                                            <b:loop values='data:posts' var='post'>
                                                              <b:loop values='data:post.labels' var='label'>
                                                                textLabel = &quot;<data:label.name/>&quot;;
                                                               
                                                                var test = 0;
                                                                for (var i = 0; i &lt; labelArray.length; i++)
                                                                if (labelArray[i] == textLabel) test = 1;
                                                                if (test == 0) {
                                                                   labelArray.push(textLabel);
                                                                   var maxLabels = (labelArray.length &lt;= maxNumberOfLabels) ?
                                                                          labelArray.length : maxNumberOfLabels;
                                                                   if (numLabel &lt; maxLabels) {
                                                                      search10(homeUrl3, textLabel);
                                                                      numLabel++;
                                                                   }
                                                                }
                                                              </b:loop>
                                                            </b:loop>
                                                            </script>
                                                </div>

                                    </div>
                        </b:if>

Save the template:
Okay, you’re done. Now save all the changes of your blog template and see the result.
Note:
If you have fall in problem regarding add above code, you can Leave a comments in comment section or email to me.
Powered by Blogger.