Display blog posts starting from second most recent post

Topic summary

A user needed to modify a Liquid template to skip the most recent blog post and start displaying from the second-most recent post.

Problem: The existing blog loop was showing all posts starting from the latest one.

Solutions provided:

  • Counter-based approach: Add a post_count variable and use a conditional {% if post_count > 0 %} to skip the first iteration, incrementing the counter after each loop.
  • Offset parameter: Use {% for article in blog.articles offset: 1 %} combined with the counter logic to skip the first post more explicitly.

Both solutions maintain the existing article styling and content logic while excluding the latest post from the display.

Resolution: The original poster confirmed the solutions worked and acknowledged their mistake.

Summarized with AI on October 31. AI used: claude-sonnet-4-5-20250929.

I want to hide the latest post from the blog loop - so the first post it shows is the second most recent. Editing in .liquid.


    {% for article in blog.articles %}
      

      {% assign article_content = article.excerpt_or_content %}
      {% assign featured_image_src='' %}

      {% if article.image %}
        {% assign featured_image_src=article | img_url: '1024x1024' %}
      {% elsif article_content contains '

    {% endfor %}

Try adding a counter and condition to skip the first post:


    {% assign post_count = 0 %}
    {% for article in blog.articles %}
      {% if post_count > 0 %}
        

          {% assign article_content = article.excerpt_or_content %}
          {% assign featured_image_src='' %}

          {% if article.image %}
            {% assign featured_image_src=article | img_url: '1024x1024' %}
          {% elsif article_content contains '

      {% endif %}
      {% assign post_count = post_count | plus: 1 %}
    {% endfor %}

This should give you exactly what you’re looking for. The counter will skip the first post while maintaining all your current styling.

1 Like

Hello @maslerdanch ,

Try this


    {% assign post_count = 0 %}
    {% for article in blog.articles offset: 1 %}
      {% if post_count > 0 %}
        

          {% assign article_content = article.excerpt_or_content %}
          {% assign featured_image_src='' %}

          {% if article.image %}
            {% assign featured_image_src=article | img_url: '1024x1024' %}
          {% elsif article_content contains '

      {% endif %}
      {% assign post_count = post_count | plus: 1 %}
    {% endfor %}

Regards
Guleria

1 Like

Thank you - I see what I was doing wrong.