文字列フィルタ
文字列フィルタを連結して、表示用の文字列を整形できる
最終確認: 2026-09
解説
受託の現場でなぜ必要か: この回では、文字列フィルタ(文字を加工して次へ渡す道具)をつないで、表示用の文字列を整えられるようになります。
受託では、商品名の省略や説明文の抜粋といった改修依頼の大半が、この文字列フィルタで解けます。
文字列フィルタとは
文字列を加工して、次のフィルタや画面へ渡す道具です。
よく使うのはupcase / downcase / capitalize / append / prepend / replace / remove / strip / truncate / truncatewords / split / join / sizeです。
フィルタは左から順に適用されます。
並び順が変わると、結果も変わります。
日本語の抜粋にtruncatewordsは使えない
truncate: 60は文字数で切ります。truncatewords: 12は空白で区切った語数で切ります。
日本語には空白が無いので、truncatewordsでは切れません。
日本語の抜粋は`truncate`を使います。
知らないと「抜粋が効かない」で時間が溶けます。
説明文を安全に出すには
escapeはHTMLの記号を安全な文字に置き換え(HTMLエスケープ)、strip_htmlはタグを取り除きます。newline_to_brは改行を<br>にします。
商品説明やユーザー入力を属性値に入れるときは、`escape`を忘れると壊れます。
メタ説明用の抜粋はstrip_html | truncate: 60の型で、先にタグを落としてから文字数で切ります。
順序を逆にすると、タグの途中で切れます。
値が無いときの表示はどう決めるか
defaultは、値がnil・false・空のときに代わりの値を出します。{{ product.vendor | default: shop.name }}のように書きます。
「メーカー名が無ければストア名を出す」という、定番の型です。
公式ドキュメント
※ ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。