Shopify Sense 3.0.0主题跨博客标签关联文章代码修复求助
修复Shopify Sense 3.0.0主题跨博客同标签文章内链问题
你的代码目前只能遍历当前博客下的文章,要关联所有博客的同标签文章,需要修改遍历范围——从单博客扩展到店铺所有博客,同时还要处理重复显示的问题(同一篇文章可能被多个标签匹配到)。
修复后的代码
{% if article.tags.size > 0 %} {% assign displayed_posts = '' | split: ',' %} <div class="related-posts"> <h3>Read More:</h3> <ul> {% for tag in article.tags %} {% for blog in blogs %} {% for related_post in blog.articles %} {% if related_post.tags contains tag and related_post.handle != article.handle and displayed_posts contains related_post.handle == false %} <li><a href="{{ related_post.url }}">{{ related_post.title }}</a></li> {% assign displayed_posts = displayed_posts | push: related_post.handle %} {% endif %} {% endfor %} {% endfor %} {% endfor %} </ul> </div> {% endif %}
关键修改说明
- 新增
{% assign displayed_posts = '' | split: ',' %}:创建空数组记录已显示的文章handle,避免重复输出 - 外层添加
{% for blog in blogs %}循环:遍历店铺内所有博客,打破仅当前博客的限制 - 替换原遍历对象为
blog.articles:遍历当前循环到的目标博客下的所有文章 - 条件新增
displayed_posts contains related_post.handle == false:防止同一篇文章因匹配多个标签重复显示
内容的提问来源于stack exchange,提问作者NQ088
相关产品推荐
相关产品推荐

