その他
BLOG

Shopify 新着商品に自動で「新着」と表示させる

編集するファイル

コレクション一覧ページや商品で商品登録●●日以内は「新着」やラベルを自動で表示させたい場合の設定です。

※以下は無料テーマ「Dawn」のファイル場所です。

  • コレクション一覧ページ:Snippets > card-product.liquid
  • 商品詳細ページ:Section > main-product.liquid

表示をさせたい場所に以下のコードを貼り付ける

{%- assign published_date = card_product.published_at | date: '%s' -%}
{%- assign current_date = 'now' | date: '%s' -%}
{%- assign passed_days_from_publish = current_date | minus: published_date | divided_by: 86400 -%}

{%- if passed_days_from_publish <= 7 -%}
新着
{%- endif -%}
  • published_at  商品がストアで公開されたときのタイム情報
  • {%- if passed_days_from_publish <= 7 -%}  商品が公開されて7日以内の場合。”7”を任意の数字に変更可能
  • ※ちなみに商品を登録したときのタイム情報は【created_at】

上記はコレクション一覧ページの場合。
商品詳細ページの場合は、card_product.published_atではなく、product.published_atとなる。(1行目の部分)

スタイルを整える

「新着」の文字にCSSでスタイルを当てたい場合は、タグで囲ってクラス付与します。

{%- if passed_days_from_publish <= 7 -%}
<span class="product__label">新着</span>
{%- endif -%}

あとはCSSでスタイルを整えて出来上がりです。

スタイル例:

.product__label {
    background: #e25f4f;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    margin-right: 10px;
    padding: 2px 10px;
}

上記CSSで以下のようにで表示されます。(新着以外はタグを表示させています。)

参考にさせていただいたサイト:https://qiita.com/yoshimi-yzrh/items/b6e2c2c12aadf2381b50