Add Stylish Related Posts Accordion in Blogger Post

Learn how to add a stylish related posts accordion in Blogger posts. Step-by-step guide to show attractive related articles inside.
Hello! Welcome to EmadulAi.

Do you want to increase your blog traffic and keep your readers engaged? Adding a Stylish Related Posts Accordion in the middle of your Blogger posts is one of the best ways to boost page views, reduce bounce rate, and encourage visitors to explore more of your content. In this step-by-step guide, you will learn how to easily add this feature to your blog.

Today, we will create a Stylish Related Posts Accordion that you can easily add anywhere in the middle of your Blogger posts. This feature is very useful for readers because it automatically displays a list of related articles based on what they are currently reading. By showing relevant posts, it increases the chances that visitors will click on them, explore more content, and stay longer on your blog.

How to Add Related Posts Accordion

Adding a Related Posts Accordion to your Blogger posts is easier than you might think. You don’t need advanced knowledge of HTML, CSS, or JavaScript because the code is already prepared for you. All you need to do is: Implement the required code in the correct place within your Blogger Theme XML. Add the Related Posts Accordion HTML code at the desired position in the middle of your posts. Once set up, this feature will automatically display relevant articles, improving user engagement and encouraging readers to explore more content on your blog.

Important!
Before we start adding any code to your Blogger Theme XML, it is highly recommended to take a backup of your current theme. This way, if anything goes wrong, you can easily restore your theme without losing any of your settings or content.

  1. First of all Login to your Blogger Dashboard.
  2. On Blogger Dashboard, click Theme.
  3. Click the arrow down icon next to 'customize' button.
  4. Click Edit HTML, you will be redirected to editing page.
  5. Now search the code ]]></b:skin> and paste the following CSS Codes just above to it.
  6. If your Blogger template has a dark mode feature and you want a different color for dark mode, you can customize the CSS as per your needs. Each template may use a different dark mode class, so make sure to replace the marked class with the correct dark mode class of your template.

    /* Accordion by EmadulAi */
    .acdn{position:relative;list-style:none;margin:30px 0;padding:0;font-size:14px;line-height:1.7em;font-family:inherit}
    .acdn .ac{width:100%;padding:20px 0 20px 15px;margin:10px 0;background:#f0f0ff;border-radius:10px;border-left:4px solid #8a8aff;box-shadow:0 5px 10px rgba(51,51,51,.1)}
    .acdn .ac:nth-child(4n + 1){background:#f0f0ff;border-left-color:#8a8aff}
    .acdn .ac:nth-child(4n + 2){background:#fff0f3;border-left-color:#ff8aa1}
    .acdn .ac:nth-child(4n + 3){background:#f0faff;border-left-color:#8ad8ff}
    .acdn .ac:nth-child(4n + 4){background:#fff7f0;border-left-color:#ffc08a}
    .acdn .cont{margin:0;padding-left:27px;padding-right:27px;position:relative;overflow:hidden;max-height:0;transition:all .3s ease;color:#08102b}
    .acdn .cont ul, .acdn .cont ol{padding-left:13px}
    .acdn .cont li{padding:0}
    .acdn .cont a{text-decoration:none;color:#08102b}
    .acdn .cont a:hover{text-decoration:underline}
    .acdn p:first-child{margin-top:0}
    .acdn p:last-child{margin-bottom:0} 
    .acTtl{display:flex;align-items:center;font-weight:700;color:#08102b}
    .acTtl span{display:flex;flex-grow:1}
    .acTtl span:before{content:'';padding-left:15px}
    .acIcn{flex-shrink:0;display:flex;align-items:center;width:12px;height:12px;position:relative}
    .acIcn:before, .acIcn:after{content:'';display:block;width:100%;height:2px;border-radius:2px;background:#08102b}
    .acIcn:after{position:absolute;transform:rotate(90deg)}
    .acMn{display:none}
    .acMn:checked ~ .acTtl .acIcn:after{visibility:hidden;opacity:0}
    .acMn:checked ~ .cont{max-height:100vh;padding-top:15px;padding-bottom:8px}
      
    .darkMode .acdn .ac{background:#252526;border-left-color:#4c4c4e}
    .darkMode .acdn .cont, .darkMode .acdn .cont a, .darkMode .acTtl, .darkMode .acMn:checked ~ .acTtl{color:#fefefe}
    .darkMode .acTtl .acIcn:before, .darkMode .acTtl .acIcn:after, .darkMode .acMn:checked ~ .acTtl .acIcn:before, .darkMode .acMn:checked ~ .acTtl .acIcn:after{background:#fefefe}
  7. After doing so, search the code </b:defaultmarkup> and paste the following Codes just above to it.
  8. <!--[ Automatic Related Posts Script by EmadulAi ]-->
    <b:includable id='auto-relatedPost'>
      <script>
        var labelArray = [<b:if cond='data:post.labels'><b:loop values='data:post.labels' var='label'>&quot;<data:label.name/>&quot;<b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if></b:loop></b:if>];
        var autoRelatedConfig = {
          homePage: &quot;<data:blog.homepageUrl.canonical/>&quot;,
          numPosts: 10,
          titleLength:&quot;auto&quot;,
          newTabLink: false,
          callBack:function(){}
        }
      </script>
      <script>/*<![CDATA[*/ var autoRelatedIndex,showAutoRelated;null!=document.getElementById("autoRelatedPost")&&function(a,n){var e,u={homePage:"https://blog.fineshop.eu.org",numPosts:7,titleLength:"auto",containerId:"autoRelatedPost",newTabLink:!1,callBack:function(){}};for(e in autoRelatedConfig)u[e]=("undefined"==autoRelatedConfig[e]?u:autoRelatedConfig)[e];function l(e){var t=a.createElement("script");t.async="async",t.rel="preload",t.src=e,n.appendChild(t)}function c(e){var t,a,n=e.length;if(0===n)return!1;for(;--n;)t=Math.floor(Math.random()*(n+1)),a=e[n],e[n]=e[t],e[t]=a;return e}var o="object"==typeof labelArray&&0<labelArray.length?"/-/"+c(labelArray)[0]:"";autoRelatedIndex=function(e){var t=e.feed.openSearch$totalResults.$t-u.numPosts,e=(e=1,t=0<t?t:1,Math.floor(Math.random()*(t-e+1))+e);l(u.homePage.replace(/\/$/,"")+"/feeds/posts/summary"+o+"?alt=json-in-script&orderby=updated&start-index="+e+"&max-results="+u.numPosts+"&callback=showAutoRelated")},showAutoRelated=function(e){var t,a,n=document.getElementById(u.containerId),l=c(e.feed.entry),o="<ul>",r=u.newTabLink?' target="_blank"':"";if(n){for(var s=0;s<u.numPosts&&s!=l.length;s++){a=l[s].title.$t,a="auto"!==u.titleLength&&u.titleLength<a.length?a.substring(0,u.titleLength)+"&hellip;":a;for(var d=0,i=l[s].link.length;d<i;d++)t="alternate"==l[s].link[d].rel?l[s].link[d].href:"#";o+='<li><a href="'+t+'" '+r+"><span>"+a+"</span></a></li>"}n.innerHTML=o+="</ul>",u.callBack()}},l(u.homePage.replace(/\/$/,"")+"/feeds/posts/summary"+o+"?alt=json-in-script&orderby=updated&max-results=0&callback=autoRelatedIndex")}((window,document),document.getElementsByTagName("head")[0]); /*]]>*/</script>
    </b:includable>

    Change the marked parts
    10: Maximum no. of related posts (eg. 15)
    auto: Maximum no. of title characters (eg. 30), leave it auto for full title
    false: Replace with true if you want to open related posts in New Tabs

  9. Add the following Codes just below to <data:post.body/>.
  10. <!--[ Automatic Related Posts by EmadulAi ]-->
    <b:include cond='data:view.isPost' data='post' name='auto-relatedPost'/>
  11. Save the changes by clicking on this icon

That's done! Now add the following HTML Codes in your Blog Posts wherever you want to show Related Posts Accordion.

<!--[ Related Posts Accordion by EmadulAi ]-->
<div class='acdn'>
  <!--[ Related Posts ]-->
  <div class='ac'>
    <div class='acCont'>
      <input class='acMn' id='offrelPost' name='relatedposts-1' type='checkbox'/>
      <label class='acTtl' for='offrelPost'>
        <i class='acIcn'></i>
        
        <!--[ Related Posts Title ]-->
        <span>More Articles on this topic</span>
      </label>

      <!--[ Related Posts Content ]-->
      <div class='cont'>
        <div id='autoRelatedPost'></div>
      </div>
    </div>
  </div>
</div>

Related Posts are shown as per Posts' Labels.

Alternative Usage

You can use this as Accordion in your posts also, for that use the following HTML codes:

<!--[ Accordion by EmadulAi ]-->
<div class='acdn'>
  <!--[ Accordion 1 ]-->
  <div class='ac'>
    <div class='acCont'>
      <input class='acMn' id='offaccor1' name='accordion-1' type='checkbox'/>
      <label class='acTtl' for='offaccor1'>
        <i class='acIcn'></i>
        
        <!--[ Accordion Title ]-->
        <span>Accordion_Title_1</span>
      </label>

      <!--[ Accordion Content ]-->
      <div class='cont'>
        <p>...</p>
      </div>
    </div>
  </div>
  
  <!--[ Accordion 2 ]-->
  <div class='ac'>
    <div class='acCont'>
      <input class='acMn' id='offaccor2' name='accordion-2' type='checkbox'/>
      <label class='acTtl' for='offaccor2'>
        <i class='acIcn'></i>
        
        <!--[ Accordion Title ]-->
        <span>Accordion_Title_2</span>
      </label>

      <!--[ Accordion Content ]-->
      <div class='cont'>
        <p>...</p>
      </div>
    </div>
  </div>
  
  <!--[ Accordion 3 ]-->
  <div class='ac'>
    <div class='acCont'>
      <input class='acMn' id='offaccor3' name='accordion-3' type='checkbox'/>
      <label class='acTtl' for='offaccor3'>
        <i class='acIcn'></i>
        
        <!--[ Accordion Title ]-->
        <span>Accordion_Title_3</span>
      </label>

      <!--[ Accordion Content ]-->
      <div class='cont'>
        <p>...</p>
      </div>
    </div>
  </div>
  
  <!--[ Accordion 4 ]-->
  <div class='ac'>
    <div class='acCont'>
      <input class='acMn' id='offaccor4' name='accordion-4' type='checkbox'/>
      <label class='acTtl' for='offaccor4'>
        <i class='acIcn'></i>
        
        <!--[ Accordion Title ]-->
        <span>Accordion_Title_4</span>
      </label>

      <!--[ Accordion Content ]-->
      <div class='cont'>
        <p>...</p>
      </div>
    </div>
  </div>
</div>
Conclusion That’s all about adding the Related Posts Accordion in your Blogger posts. We hope you found this guide helpful and easy to follow. Please feel free to share this article with others. If you face any issues or have any questions regarding any step, don’t hesitate to ask in the comment section. Thank you for reading!

About the author

Emadul Tarafdar
Hello guys! My name is Emadul Tarafdar. If you enjoy my content, feel free to follow me on my social media links. Thanks so much for your support!

Post a Comment

Join the conversation