Зависит от количества постов в блоге.
Существует 3 подхода.
Жидкий способ
Вы можете перезаписать статью на пагинацию и отменить л oop.
Пример:
{% paginate blog.articles by 9999 %}
{% for article in blog.articles reversed %}
...
{% endfor %}
{% endpaginate %}
Чем больше объем статьи, тем медленнее будет скорость загрузки DOM.
Так что если у вас более 1000 статей, это не очень хорошее решение.
REST 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
Лучше всего использовать API StoreFront GraphQL здесь, где вы можете отменить результаты.
Пример запроса:
{
blogByHandle(handle:"news"){
articles(first: 50, reverse: true){
edges {
node {
title
}
}
}
}
}
Таким образом вы сохраните нумерацию страниц (поскольку GraphQL возвращает Cursor, который вы можно использовать для нумерации страниц), и вы будете держать запросы как минимум.