태그 목록에 나타나는 피처드 포스트(추천글) 제외하기
안녕하세요, 고스트블로그 운영자 여러분!
최근에 제 고스트 블로그(고블로)에 이지태그(easy-tag) 테마를 적용하며 새로운 기능들을 추가했었는데요, 그 과정에서 뜻밖의 상황을 마주했습니다. 바로 피처드 포스트, 즉 추천글이 각각의 태그 별 글 목록에 쏙 들어가 버려서 원치 않는 결과을 야기한 것이었어요.
문제의 발단: 태그 페이지에 나타난 추천글
기존에는 태그 기능을 활용해, 각 태그에 속한 글들을 한눈에 보여주는 기능을 구현했었습니다. 그리고 추천 글에서는 태그 리스트가 포함하는 글 들의 목록을 나열해서 보여 주도록 기능을 변경했는데요.
하지만 이 과정에서 기존의 태그를 클릭하면, 해당 태그에 포함된 일반 포스트뿐만 아니라 피처드 포스트(추천글)도 함께 노출되는 문제가 발생했습니다.
해결 방법: tag.hbs 템플릿 수정으로 추천글 제거
문제를 파악하고, 저는 챗지피티에게 Ghost 템플릿 파일 중 하나인 tag.hbs
를 수정하라고 했습니다.
"태그 클릭 시, 해당 태그에 속한 일반 포스트만 보여주고 추천글은 빼자!"
기존 코드는 아래와 같았습니다:
<div class="post-feed gh-canvas">
{{#get "posts" filter="tag:{{tag.slug}}" limit="all" order="slug asc"}}
{{#foreach posts}}
{{> "loop"}}
{{/foreach}}
{{/get}}
</div>
여기에서 Ghost의 get
헬퍼에 필터 옵션을 추가하면 쉽게 해결할 수 있습니다.filter
옵션에 +featured:false
조건을 붙여주면, 피처드 포스트(추천글)는 자동으로 제외됩니다.
즉, 수정 후 코드는 아래와 같이 됩니다:
<div class="post-feed gh-canvas">
{{#get "posts" filter="tag:{{tag.slug}}+featured:false" limit="all" order="slug asc"}}
{{#foreach posts}}
{{> "loop"}}
{{/foreach}}
{{/get}}
</div>
이 한 줄의 코드 수정으로, 이제 태그를 클릭하면 추천글이 섞이지 않은 오직 일반 포스트만 깔끔하게 보여지게 되었습니다!
깃허브에서 함께해요
수정한 tag.hbs
파일은 이미 깃허브에 업로드해두었습니다.
필요하신 분들은 자유롭게 가져다가 사용해 보세요. 앞으로도 유용한 팁과 노하우를 계속해서 공유드리겠습니다.
행복한 블로깅 되세요!