Shopify - 从最旧到最新对博客帖子进行排序 - 首先是旧 post

Shopify - sort blog Posts from oldest to newest - old post first

如何让 Shopify 将博客帖子从旧到新排序?

现在最新的 post 排在最前面。它不适用于讲述故事的博客。自然要读个乞讨故事

其他一些博客必须按默认顺序排序 - 从新到旧。 IE。最新顶.

问:如何对某些博客进行旧的优先排序?

这取决于博文的数量。

有 3 种方法。


液体方式

您可以覆盖文章分页并反转循环。

示例:

{% paginate blog.articles by 9999 %}
  {% for article in blog.articles reversed  %}
     ...
  {% endfor %}
{% endpaginate %}

文章量越大DOM加载速度会越慢

因此,如果您有 1000 多篇文章,这不是一个好的解决方案。

休息 API

您可以注册一个私人应用程序并设置仅 Store content like articles, blogs, comments, pages, and redirects 读取权限,所有内容都将被禁用。

那么您将需要请求以下内容URL:https://API_KEY:API_PASS@STORE.myshopify.com/admin/api/2020-01/blogs/BLOG_ID/articles.json?limit=250(如果您有超过 250 篇文章,则乘以次数)

并反转结果数组。

如果您有很多文章,这个解决方案又不是很好。

GraphQL

最好的方法是在此处使用 StoreFront GraphQL API,您可以在其中反转结果。

示例查询:

{
    blogByHandle(handle:"news"){
    articles(first: 50, reverse: true){
      edges {
        node {
          title
        }
      }
    }
  }
}

这样您将保持分页完整(因为 GraphQL return 可用于分页的游标)并且您将保持请求最少。

我实际上制作了一个应用程序,可以将博客拖放到您想要的位置。这是 Shopify 应用程序的 link:Article Organizer Pro