顯示單價

如果您以數量或測量單位銷售產品,則您可能必須顯示特定產品的每單位價格。您輸入產品單價後,其將顯示在產品頁面、商品系列頁面、購物車頁面、結帳頁面和訂單確認通知上。

為您的產品新增單價

電腦版
  1. 在 Shopify 管理介面 中,前往「產品」。

  2. 點擊要編輯的產品。

  3. 選用:若商品具有子類,則請於「子類」區段中點擊要編輯的子類。

  4. 在「定價」區段中,選取「顯示此商品的單價」。

  5. 在「商品總計量」欄位中,輸入商品的總計量,然後選取計量單位。

  6. 選用:如果要變更預設基準單位,請在「基準單位」欄位中新增基準單位,然後選取測量單位。例如,您可以為 200 公克重的商品選取 1 公斤作為基準單位。

  7. 按一下「儲存」。

iPhone
  1. Shopify 應用程式中,前往「產品 > 所有產品」
  2. 點選您要編輯的產品。
  3. 點選商品價格區域。
  4. 選取「顯示單價」。
  5. 在「商品總計量」欄位中,輸入商品的總計量,然後選取計量單位。
  6. 選用:如果要變更預設基準單位,請在「基準單位」欄位中新增基準單位,然後選取測量單位。例如,您可以為 200 公克重的商品選取 1 公斤作為基準單位。
  7. 點選「儲存」。
Android
  1. Shopify 應用程式中,前往「產品 > 所有產品」
  2. 點選您要編輯的產品。
  3. 點選商品價格區域。
  4. 選取「顯示單價」。
  5. 在「商品總計量」欄位中,輸入商品的總計量,然後選取計量單位。
  6. 選用:如果要變更預設基準單位,請在「基準單位」欄位中新增基準單位,然後選取測量單位。例如,您可以為 200 公克重的商品選取 1 公斤作為基準單位。
  7. 點選「」。

在您的網路商店上顯示單價

所有 Online Store 2.0 佈景主題已提供單價功能。無需採取動作即可在網路商店上顯示單價。

如果您有舊版佈景主題,且無法更新至支援單價功能的版本,則可手動自訂佈景主題程式碼以顯示單價。

在舊版佈景主題上顯示單價

此自訂程序的步驟因佈景主題而異。按一下佈景主題的按鈕,然後依照以下指示操作:

Debut

Debut 的步驟

Debut 佈景主題 12.1.0 和以上的版本可以使用單價功能。如果您無法將佈景主題更新為最新版本,則可以新增單價自訂內容至舊版的 Debut。

編輯商品價格程式碼片段

  1. 在「程式碼片段」目錄中,按一下「product-price.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「data-price」並找出以下程式碼:

<dl class="price{% if available and compare_at_price > price %} price--on-sale{% endif %}" data-price>
  1. 用以下程式碼片段取代該程式碼:
<dl class="price{% if available and compare_at_price > price %} price--on-sale{% endif %}{% if available and variant.unit_price_measurement %} price--unit-available{% endif %}" data-price>

編輯後,結果應如下所示:

更新版 product-price.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,搜尋「price__sale」並找出以下程式碼:
<div class="price__sale">
  <dt>
    <span class="visually-hidden visually-hidden--inline">{{ 'products.product.sale_price' | t }}</span>
  </dt>
  <dd>
    <span class="price-item price-item--sale" data-sale-price>
      {{ money_price }}
    </span>
    <span class="price-item__label" aria-hidden="true">{{ 'products.product.on_sale' | t }}</span>
  </dd>
</div>
  1. </div> 結束標籤下方新增以下程式碼:
{% if variant.unit_price_measurement %}
<div class="price__unit">
  <dt>
    <span class="visually-hidden visually-hidden--inline">{{ 'products.product.unit_price_label' | t }}</span>
  </dt>
  <dd class="price-unit-price">
    {%- capture unit_price_separator -%}
    <span aria-hidden="true">/</span><span class="visually-hidden">{{ 'general.accessibility.unit_price_separator' | t }}&nbsp;</span>
    {%- endcapture -%}
    {%- capture unit_price_base_unit -%}
      <span data-unit-price-base-unit>
        {%- if available and variant.unit_price_measurement -%}
          {%- if variant.unit_price_measurement.reference_value != 1 -%}
            {{- variant.unit_price_measurement.reference_value -}}
          {%- endif -%}
          {{ variant.unit_price_measurement.reference_unit }}
        {%- endif -%}
      </span>
    {%- endcapture -%}
    <span data-unit-price>{{ variant.unit_price | money }}</span>{{- unit_price_separator -}}{{- unit_price_base_unit -}}
  </dd>
</div>
{% endif %}
  1. 按一下「儲存」來確認變更內容。

編輯購物車頁面

  1. 在「區段」目錄中,按一下 cart-template.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「cart__price-wrapper」並找出以下程式碼:

{%- if item.original_price != item.final_price -%}
  <dl>
    <dt>
      <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
    </dt>
    <dd>
      <s>{{ item.original_price | money }}</s>
    </dd>
    <dt>
      <span class="visually-hidden">{{ 'products.product.sale_price' | t }}</span>
    </dt>
    <dd>
      <span class="order-discount">{{ item.final_price | money }}</span>
    </dd>
  </dl>
{%- else -%}
  {{ item.original_price | money }}
{%- endif -%}
  1. 用以下程式碼片段取代該程式碼:
<dl>
  {%- if item.original_price != item.final_price -%}
  <dt>
    <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
  </dt>
  <dd>
    <s>{{ item.original_price | money }}</s>
  </dd>
  <dt>
    <span class="visually-hidden">{{ 'products.product.sale_price' | t }}</span>
  </dt>
  <dd>
    <span class="order-discount">{{ item.final_price | money }}</span>
  </dd>
  {%- else -%}
  <dt>
    <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
  </dt>
  <dd>
    {{ item.original_price | money }}
  </dd>
  {%- endif -%}
  {%- if item.unit_price_measurement -%}
  <dt>
    <span class="visually-hidden visually-hidden--inline">{{ 'products.product.unit_price_label' | t }}</span>
  </dt>
  <dd>
    <span class="price-unit-price">
      {%- capture unit_price_separator -%}
      <span aria-hidden="true">/</span><span class="visually-hidden">{{ 'general.accessibility.unit_price_separator' | t }}&nbsp;</span>
      {%- endcapture -%}
      {%- capture unit_price_base_unit -%}
      {%- if item.unit_price_measurement.reference_value != 1 -%}
      {{- item.unit_price_measurement.reference_value -}}
      {%- endif -%}
      {{ item.unit_price_measurement.reference_unit }}
      {%- endcapture -%}
      <span data-unit-price>{{ item.unit_price | money }}</span>{{- unit_price_separator -}}{{- unit_price_base_unit -}}
    </span>
  </dd>
  {%- endif -%}
</dl>

編輯完成後,cart-template.liquid 檔案應如下所示:

更新版 cart-template.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯商品系列頁面

  1. 在「區段」目錄中,按一下 collection.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「grid-view-item__title」並找出以下程式碼:

{% include 'product-price' %}
  1. 用以下程式碼片段取代該程式碼:
{% include 'product-price', variant: nil %}

編輯完成後,collection.liquid 檔案應如下所示:

更新版 `collection.liquid file 檔案

  1. 按一下「儲存」來確認變更內容。

編輯產品卡方格項目

  1. 在「程式碼片段」目錄中,按一下「product-card-grid.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「grid-view-item__title」並找出以下程式碼:

{% include 'product-price', variant: product %}
  1. 用以下程式碼片段取代該程式碼:
{% include 'product-price', variant: product.selected_or_first_available_variant %}

編輯完成後,product-card-grid.liquid 檔案應如下所示:

更新版 product-card-grid.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯產品卡清單

  1. 在「程式碼片段」目錄中,按一下「product-card-list.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「{% if product.available %}」並找出以下程式碼:

{% include 'product-price', variant: product %}
  1. 用以下程式碼片段取代該程式碼:
{% include 'product-price', variant: product.selected_or_first_available_variant %}

編輯完成後,product-card-list.liquid 檔案應如下所示:

更新版 product-card-list.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯訂單頁面

  1. 在「範本」目錄中,按一下「customers/order.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「data-label="{{ 'customer.order.price' | t }}"」並找出以下程式碼:

{%- if line_item.original_price != line_item.final_price -%}
  <dl>
    <dt>
      <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
    </dt>
    <dd>
      <s>{{ line_item.original_price | money }}</s>
    </dd>
    <dt>
      <span class="visually-hidden">{{ 'products.product.sale_price' | t }}</span>
    </dt>
    <dd>
      <span class="order-discount">{{ line_item.final_price | money }}</span>
    </dd>
  </dl>
{%- else -%}
  {{ line_item.original_price | money }}
{%- endif -%}
  1. 用以下程式碼片段取代該程式碼:
<dl>
  {%- if line_item.original_price != line_item.final_price -%}
  <dt>
    <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
  </dt>
  <dd>
    <s>{{ line_item.original_price | money }}</s>
  </dd>
  <dt>
    <span class="visually-hidden">{{ 'products.product.sale_price' | t }}</span>
  </dt>
  <dd>
    <span class="order-discount">{{ line_item.final_price | money }}</span>
  </dd>
  {%- else -%}
  <dt>
    <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
  </dt>
  <dd>
    {{ line_item.original_price | money }}
  </dd>
  {%- endif -%}
  {%- if line_item.unit_price_measurement -%}
  <dt>
    <span class="visually-hidden visually-hidden--inline">{{ 'products.product.unit_price_label' | t }}</span>
  </dt>
  <dd>
    <span class="price-unit-price">
      {%- capture unit_price_separator -%}
      <span aria-hidden="true">/</span><span class="visually-hidden">{{ 'general.accessibility.unit_price_separator' | t }}&nbsp;</span>
      {%- endcapture -%}
      {%- capture unit_price_base_unit -%}
      {%- if line_item.unit_price_measurement.reference_value != 1 -%}
      {{- line_item.unit_price_measurement.reference_value -}}
      {%- endif -%}
      {{ line_item.unit_price_measurement.reference_unit }}
      {%- endcapture -%}
      <span data-unit-price>{{ line_item.unit_price | money }}</span>{{- unit_price_separator -}}{{- unit_price_base_unit -}}
    </span>
  </dd>
  {%- endif -%}
</dl>

編輯完成後,customers/order.liquid 檔案應如下所示:

更新版 customers/order.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯佈景主題樣式

  1. 在「資產」目錄中,按一下「theme.scss.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「.price__vendor {」並找出以下程式碼:

.price__vendor {
  color: $color-body-text;
  font-size: 0.9em;
  font-weight: $font-weight-body;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 5px 0 10px;
  width: 100%;
  @include flex-basis(100%);
}
  1. 在步驟 2 的程式碼下方新增以下程式碼片段:
.price__unit {
  @include flex-basis(100%);
  display: none;

  .price--unit-available & {
    display: block;
  }
}
.price-unit-price {
  color: $color-body-text;
  font-size: 0.8em;
}

編輯完成後,theme.scss.liquid 檔案應如下所示:

更新版 theme.scss.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯 JavaScript 佈景主題程式碼

  1. 在「資產」目錄中,按一下「theme.js」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:

salePrice: '[data-sale-price]'
  1. 在步驟 2 的程式碼上新增以下程式碼片段:
unitPrice: '[data-unit-price]',
unitPriceBaseUnit: '[data-unit-price-base-unit]',

編輯後,結果應如下所示:

更新版 theme.js 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
productOnSale: 'price--on-sale',
  1. 在步驟 4 的程式碼後方新增以下程式碼片段:
productUnitAvailable: 'price--unit-available',

編輯後,結果應如下所示:

更新版 theme.js 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
var liveRegionText = '[Availability] [Regular] [$$] [Sale] [$]';
  1. 用以下程式碼片段取代該程式碼:
var liveRegionText = '[Availability] [Regular] [$$] [Sale] [$]. [UnitPrice] [$$$]';
  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
var salePrice = '';
  1. 在步驟 8 的程式碼下方新增以下程式碼片段:
var unitLabel = '';
var unitPrice = '';
if (variant.unit_price_measurement) {
  unitLabel = theme.strings.unitPrice;
  unitPrice =
    theme.Currency.formatMoney(variant.unit_price, theme.moneyFormat) +
    ' ' +
    theme.strings.unitPriceSeparator +
    ' ' +
    this._getBaseUnit(variant);
}
  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
.replace('[$]', salePrice)
  1. 在步驟 10 的程式碼下方新增以下程式碼片段:
.replace('[UnitPrice]', unitLabel)
.replace('[$$$]', unitPrice)

編輯後,結果應如下所示:

更新版 theme.js 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
_updatePrice: function(evt) {
  1. 在步驟 12 的程式碼前方新增以下程式碼片段:
_getBaseUnit: function(variant) {
  return variant.unit_price_measurement.reference_value === 1
    ? variant.unit_price_measurement.reference_unit
    : variant.unit_price_measurement.reference_value +
        variant.unit_price_measurement.reference_unit;
},
  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
var $salePrice = $(this.selectors.salePrice, $priceContainer);
  1. 在步驟 14 的程式碼下方新增以下程式碼片段:
var $unitPrice = $(this.selectors.unitPrice, $priceContainer);
var $unitPriceBaseUnit = $(
  this.selectors.unitPriceBaseUnit,
  $priceContainer
);
  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
.removeClass(this.classes.productOnSale)
  1. 在步驟 16 的程式碼下方新增以下程式碼片段:
.removeClass(this.classes.productUnitAvailable)
  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
else {
  // Regular price
  $regularPrice.html(
    theme.Currency.formatMoney(variant.price, theme.moneyFormat)
  );
}
  1. 在步驟 18 的程式碼下方新增以下程式碼片段:
// Unit price
if (variant.unit_price_measurement) {
  $unitPrice.html(
    theme.Currency.formatMoney(variant.unit_price, theme.moneyFormat)
  );
  $unitPriceBaseUnit.html(this._getBaseUnit(variant));
  $priceContainer.addClass(this.classes.productUnitAvailable);
}

編輯後,結果應如下所示:

更新版 theme.js 檔案

  1. 按一下「儲存」來確認變更內容。

編輯英文翻譯

  1. 在「語言代碼」目錄中,按一下「en.default.json」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:

"selection_help": "press the space key then arrow keys to make a selection"
  1. 在步驟 2 的程式碼上新增以下程式碼片段:
"unit_price_separator": "per",

編輯後,結果應如下所示:

更新版 en.default.json 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
"include_taxes": "Tax included.",
  1. 在步驟 4 的程式碼下方新增以下程式碼片段:
"unit_price_label": "Unit price",

編輯後,結果應如下所示:

更新版 en.default.json 檔案

  1. 按一下「儲存」來確認變更內容。

編輯佈景主題版面配置

  1. 版面配置目錄中,按一下 「theme.liquid」 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:

regularPrice: {{ 'products.product.regular_price' | t | json }},
  1. 在步驟 2 的程式碼下方新增以下程式碼片段:
unitPrice: {{ 'products.product.unit_price_label' | t | json }},
unitPriceSeparator: {{ 'general.accessibility.unit_price_separator' | t | json }},

編輯完成後,theme.liquid 檔案應如下所示:

更新版 theme.js.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

(選用) 為其他語言新增翻譯

  1. 在 Shopify 管理介面 中,前往「佈景主題」頁面。

  2. 點擊「...」按鈕 >「編輯預設佈景主題內容」。

  3. 點擊「變更佈景主題語言」,然後選取您要編輯的語言。此操作僅能在您已發佈的佈景主題上進行。

  4. 在搜尋欄輸入 Unit Price

  5. 在「一般 / 無障礙功能」下方更新單價分隔符號

  6. 在「產品 (複數) / 產品」下方更新單價標籤

  7. 按一下「儲存」。

Brooklyn

Brooklyn 的步驟

Brooklyn 佈景主題 13.1.0 和以上的版本可以使用單價功能。如果您無法將佈景主題更新為最新版本,則可以新增單價自訂內容至舊版的 Brooklyn。

新增商品價格程式碼片段

  1. 「程式碼片段」目錄中,按一下「新增程式碼片段」

  2. 在名稱欄位中輸入 product-price

  3. 複製貼上以下程式碼至檔案中。

<div class="price-container{% if variant.unit_price_measurement %} price-container--unit-available{% endif %}" data-price-container>
  {%- if variant.compare_at_price > variant.price -%}
    <span id="PriceA11y" class="visually-hidden">{{ 'products.general.regular_price' | t }}</span>
    <span class="product-single__price--wrapper" aria-hidden="false">
      <span id="ComparePrice" class="product-single__price--compare-at">
        {{ variant.compare_at_price | money }}
      </span>
    </span>
    <span id="ComparePriceA11y" class="visually-hidden" aria-hidden="false">{{ 'products.general.sale_price' | t }}</span>
  {%- else -%}
    <span id="PriceA11y" class="visually-hidden">{{ 'products.general.regular_price' | t }}</span>
    <span class="product-single__price--wrapper hide" aria-hidden="true">
      <span id="ComparePrice" class="product-single__price--compare-at"></span>
    </span>
    <span id="ComparePriceA11y" class="visually-hidden" aria-hidden="true">{{ 'products.general.sale_price' | t }}</span>
  {%- endif -%}
  <span id="ProductPrice"
    class="product-single__price{% if variant.compare_at_price > variant.price %} on-sale{% endif %}"
    itemprop="price"
    content="{{ variant.price | divided_by: 100.00 }}">
    {{ variant.price | money }}
  </span>
  <div class="product-single__unit">
    {%- capture unit_price_separator -%}
      <span aria-hidden="true">/</span><span class="visually-hidden">&nbsp;{{ 'general.accessibility.unit_price_separator' | t }}&nbsp;</span>
    {%- endcapture -%}
    {%- capture unit_price_base_unit -%}
      <span data-unit-price-base-unit>
        {%- if variant.unit_price_measurement -%}
          {%- if variant.unit_price_measurement.reference_value != 1 -%}
            {{- variant.unit_price_measurement.reference_value -}}
          {%- endif -%}
          {{ variant.unit_price_measurement.reference_unit }}
        {%- endif -%}
      </span>
    {%- endcapture -%}
    <span class="product-unit-price">
      <span class="visually-hidden">{{ 'products.general.unit_price' | t }}</span>
      <span data-unit-price>{{ variant.unit_price | money }}</span>{{- unit_price_separator -}}{{- unit_price_base_unit -}}
    </span>
  </div>
</div>
  1. 按一下「儲存」來確認變更內容。

編輯精選產品頁面

  1. 在「區段」目錄中,按一下 featured-product.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「itemprop="offers"」並找出以下程式碼:

<div data-price-container>
    {% comment %}
        Optionally show the 'compare at' or original price of the product.
    {% endcomment %}
    {% if compare_at_price > price %}
        <span id="PriceA11y" class="visually-hidden" {% unless current_variant.available %}aria-hidden="true"{% endunless %}>{{ 'products.general.regular_price' | t }}</span>
        <span class="product-single__price--wrapper" aria-hidden="false">
        <span id="ComparePrice" class="product-single__price--compare-at">
            {{ compare_at_price | money }}
        </span>
        </span>
        <span id="ComparePriceA11y" class="visually-hidden" aria-hidden="false">{{ 'products.general.sale_price' | t }}</span>
    {% else %}
        <span id="PriceA11y" class="visually-hidden" {% unless current_variant.available %}aria-hidden="true"{% endunless %}>{{ 'products.general.regular_price' | t }}</span>
        <span class="product-single__price--wrapper hide" aria-hidden="true">
        <span id="ComparePrice" class="product-single__price--compare-at"></span>
        </span>
        <span id="ComparePriceA11y" class="visually-hidden" aria-hidden="true">{{ 'products.general.sale_price' | t }}</span>
    {% endif %}
    <span id="ProductPrice"
        class="product-single__price{% if compare_at_price > price %} on-sale{% endif %}"
        itemprop="price"
        content="{{ price | divided_by: 100.00 }}"
        {% unless current_variant.available %}aria-hidden="true"{% endunless %}>
        {{ price | money }}
    </span>
</div>
  1. 用以下程式碼片段取代該程式碼:
{% include 'product-price', variant: current_variant %}

編輯完成後,featured-product.liquid 檔案應如下所示:

更新版 featured-product.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯產品頁面

  1. 在「區段」目錄中,按一下 product-template.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「itemprop="offers"」並找出以下程式碼:

<div data-price-container>
    {% comment %}
        Optionally show the 'compare at' or original price of the product.
    {% endcomment %}
    {% if current_variant.compare_at_price > current_variant.price %}
        <span id="PriceA11y" class="visually-hidden" {% unless current_variant.available %}aria-hidden="true"{% endunless %}>{{ 'products.general.regular_price' | t }}</span>
        <span class="product-single__price--wrapper" aria-hidden="false">
        <span id="ComparePrice" class="product-single__price--compare-at">
            {{ current_variant.compare_at_price | money }}
        </span>
        </span>
        <span id="ComparePriceA11y" class="visually-hidden" aria-hidden="false">{{ 'products.general.sale_price' | t }}</span>
    {% else %}
        <span id="PriceA11y" class="visually-hidden" {% unless current_variant.available %}aria-hidden="true"{% endunless %}>{{ 'products.general.regular_price' | t }}</span>
        <span class="product-single__price--wrapper hide" aria-hidden="true">
        <span id="ComparePrice" class="product-single__price--compare-at"></span>
        </span>
        <span id="ComparePriceA11y" class="visually-hidden" aria-hidden="true">{{ 'products.general.sale_price' | t }}</span>
    {% endif %}
    <span id="ProductPrice"
        class="product-single__price{% if current_variant.compare_at_price > current_variant.price %} on-sale{% endif %}"
        itemprop="price"
        content="{{ current_variant.price | divided_by: 100.00 }}"
        {% unless current_variant.available %}aria-hidden="true"{% endunless %}>
        {{ current_variant.price | money }}
    </span>
</div>
  1. 用以下程式碼片段取代該程式碼:
{% include 'product-price', variant: current_variant %}

編輯完成後,product-template.liquid 檔案應如下所示:

更新版 product-template.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯 ajax 購物車

  1. 在「程式碼片段」目錄中,按一下「ajax-cart-template.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「<span class="ajaxcart__price">{{{price}}}</span>」並找出以下程式碼:

{{#if discountsApplied}}
    <span class="visually-hidden">{% endraw %}{{ 'products.general.regular_price' | t }}{% raw %}</span>
    <del class="ajaxcart__price">{{{price}}}</del>
    <span class="visually-hidden">{% endraw %}{{ 'products.general.sale_price' | t }}{% raw %}</span>
    <span class="ajaxcart__price">{{{discountedPrice}}}</span>
    {{else}}
    <span class="ajaxcart__price">{{{price}}}</span>
{{/if}}
  1. 在步驟 2 的 {{/if}} 下方新增以下程式碼:
{{#if unitPrice}}
    <span class="visually-hidden">{% endraw %}{{ 'products.general.unit_price' | t }}{% raw %}</span>
    <span class="cart__unit-price">
        {% endraw %}
        {%- capture unit_price_separator -%}
        <span aria-hidden="true">/</span><span class="visually-hidden">&nbsp;{{'general.accessibility.unit_price_separator' | t}}&nbsp;</span>
        {%- endcapture -%}
        {% raw %}
        <span>{{{ unitPrice.price }}}</span>{{% endraw %}{{- unit_price_separator -}}{% raw %}{{#if unitPrice.addRefererenceValue }}{{{ unitPrice.reference_value }}}{{/if}}{{{ unitPrice.reference_unit }}}
    </span>
{{/if}}

編輯完成後,ajax-cart-template.liquid 檔案應如下所示:

更新版 ajax-cart-template.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯產品方格項目

  1. 在「程式碼片段」目錄中,按一下「product-grid-template.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「capture img_id_class」並找出以下程式碼:

{% capture img_id_class %}ProductImage-{{ product.featured_image.id }}{% endcapture %}
{% capture img_wrapper_id %}ProductImageWrapper-{{ product.featured_image.id }}{% endcapture %}
{%- assign img_url = product.featured_image | img_url: '1x1' | replace: '_1x1.', '_{width}x.' -%}
  1. 在步驟 2 中的程式碼前方新增以下程式碼片段:
{%- assign variant = product.selected_or_first_available_variant -%}

編輯後,結果應如下所示:

更新版 product-grid-template.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,搜尋「{{ product.price | money_without_trailing_zeros }}」並找出以下程式碼:
<span class="grid-product__price">
    {% if on_sale %}
        <span class="visually-hidden">{{ 'products.general.sale_price' | t }}</span>
    {% else %}
        <span class="visually-hidden">{{ 'products.general.regular_price' | t }}</span>
    {% endif %}
    {% if product.price_varies %}
        {{ product.price_min | money_without_trailing_zeros }}
        <span class="icon-fallback-text">
        <span class="icon icon-plus grid-product__price-min" aria-hidden="true"></span>
        <span class="fallback-text">+</span>
        </span>
    {% else %}
        {{ product.price | money_without_trailing_zeros }}
    {% endif %}
</span>
  1. </span> 下方新增以下程式碼:
{%- if product.price_varies == false and variant.unit_price_measurement -%}
    {%- capture unit_price_separator -%}
        <span aria-hidden="true">/</span><span class="visually-hidden">&nbsp;{{ 'general.accessibility.unit_price_separator' | t }}&nbsp;</span>
    {%- endcapture -%}
    {%- capture unit_price_base_unit -%}
        <span>
        {%- if variant.unit_price_measurement.reference_value != 1 -%}
            {{- variant.unit_price_measurement.reference_value -}}
        {%- endif -%}
        {{ variant.unit_price_measurement.reference_unit }}
        </span>
    {%- endcapture -%}
    <span class="product-unit-price">
        <span class="visually-hidden">{{ 'products.general.unit_price' | t }}</span>
        <span>{{ variant.unit_price | money }}</span>{{- unit_price_separator -}}{{- unit_price_base_unit -}}
    </span>
{%- endif -%}

編輯後,結果應如下所示:

更新版 product-grid-template.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯購物車頁面

  1. 在「範本」目錄中,按一下「cart.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「<span class="cart__price">」並找出以下程式碼:

{%- if item.original_line_price != item.final_line_price -%}
  <span class="visually-hidden">{{ 'products.general.regular_price' | t }}</span>
  <del class="cart__price">{{ item.original_line_price | money }}</del>
  <span class="visually-hidden">{{ 'products.general.sale_price' | t }}</span>
  <span class="order-discount cart__price">{{ item.final_line_price | money }}</span>
{%- else -%}
  <span class="cart__price">{{ item.original_line_price | money }}</span>
{%- endif -%}
  1. 在步驟 2 的程式碼下方新增以下程式碼片段:
{%- if item.unit_price_measurement -%}
    <span class="visually-hidden">{{ 'products.general.unit_price' | t }}</span>
    <span class="cart__unit-price">
        {%- capture unit_price_separator -%}
        <span aria-hidden="true">/</span><span class="visually-hidden">&nbsp;{{ 'general.accessibility.unit_price_separator' | t }}&nbsp;</span>
        {%- endcapture -%}
        {%- capture unit_price_base_unit -%}
        {%- if item.unit_price_measurement.reference_value != 1 -%}
            {{- item.unit_price_measurement.reference_value -}}
        {%- endif -%}
        {{ item.unit_price_measurement.reference_unit }}
        {%- endcapture -%}
        <span data-unit-price>{{ item.unit_price | money }}</span>{{- unit_price_separator -}}{{- unit_price_base_unit -}}
    </span>
{%- endif -%}

編輯完成後,cart.liquid 檔案應如下所示:

更新版 cart.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯訂單頁面

  1. 在「範本」目錄中,按一下「customers/order.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「{{ line_item.original_price | money }}」並找出以下程式碼:

<td class="text-right" data-label="{{ 'customer.order.price' | t }}">
    {%- if line_item.original_price != line_item.final_price -%}
        <span class="visually-hidden">{{ 'products.general.regular_price' | t }}</span>
        <del>{{ line_item.original_price | money }}</del>
        <span class="visually-hidden">{{ 'products.general.sale_price' | t }}</span>
        <span class="order-discount">{{ line_item.final_price | money }}</span>
    {%- else -%}
        {{ line_item.original_price | money }}
    {%- endif -%}
</td>
  1. 在步驟 2 的 </td> 之前新增以下程式碼片段:
{%- if line_item.unit_price_measurement -%}
    <span class="visually-hidden">{{ 'products.general.unit_price' | t }}</span>
    <span class="product-unit-price">
        {%- capture unit_price_separator -%}
        <span aria-hidden="true">/</span><span class="visually-hidden">&nbsp;{{ 'general.accessibility.unit_price_separator' | t }}&nbsp;</span>
        {%- endcapture -%}
        {%- capture unit_price_base_unit -%}
        {%- if line_item.unit_price_measurement.reference_value != 1 -%}
            {{- line_item.unit_price_measurement.reference_value -}}
        {%- endif -%}
        {{ line_item.unit_price_measurement.reference_unit }}
        {%- endcapture -%}
        <span>{{ line_item.unit_price | money }}</span>{{- unit_price_separator -}}{{- unit_price_base_unit -}}
    </span>
{%- endif -%}

編輯完成後,customers/order.liquid 檔案應如下所示:

更新版 customers/order.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯佈景主題樣式 - 第 1 部分

  1. 在「資產」目錄中,按一下「theme.scss.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「.ajaxcart__price {」並找出以下程式碼:

.ajaxcart__price {
    font-size: em(13px);
    display: block;
}
  1. 在步驟 2 的程式碼下方新增以下程式碼片段:
.cart__unit-price {
    display: block;
}

編輯完成後,theme.scss.liquid 檔案應如下所示:

更新版 theme.scss.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯佈景主題樣式 - 第 2 部分

  1. 在「資產」目錄中,按一下「timber.scss.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,搜尋「.product-single__policies {」並找出以下程式碼:

.product-single__policies {
  margin: 15px 0 25px 0;
}
  1. 在步驟 2 的程式碼上新增以下程式碼片段:
.product-single__unit {
  display: none;

  .price-container--unit-available & {
    display: block;
  }
}

編輯後,結果應如下所示:

更新版 timber.scss.liquid 檔案

  1. 前往檔案最下方,並新增以下程式碼:
.product-unit-price {
  color: $colorTextBody;
  display: block;
}

編輯後,結果應如下所示:

更新版 timber.scss.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯 JavaScript 佈景主題程式碼

  1. 在「資產」目錄中,按一下「theme.js.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:

var prodImg;
  1. 在步驟 2 的程式碼下方新增以下程式碼片段:
var unitPrice = null;

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
// Create item's data object and add to 'items' array
  1. 在步驟 4 的程式碼上新增以下程式碼片段:
if (cartItem.unit_price_measurement) {
  unitPrice = {
    addRefererenceValue:
      cartItem.unit_price_measurement.reference_value !== 1,
    price: theme.Currency.formatMoney(
      cartItem.unit_price,
      settings.moneyFormat
    ),
    reference_value: cartItem.unit_price_measurement.reference_value,
    reference_unit: cartItem.unit_price_measurement.reference_unit
  };
}

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
vendor: cartItem.vendor
  1. 在步驟 6 的程式碼上新增以下程式碼片段:
unitPrice: unitPrice,

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
productPrice: '#ProductPrice',
  1. 在步驟 8 的程式碼下方新增以下程式碼片段:
unitPrice: '[data-unit-price]',
unitPriceBaseUnit: '[data-unit-price-base-unit]',

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,搜尋「$(this.selectors.priceContainer, this.$container).removeClass(」並找出以下程式碼:
$(this.selectors.priceContainer, this.$container).removeClass(
  'visibility-hidden'
);
  1. 用以下程式碼片段取代該程式碼:
$(this.selectors.priceContainer, this.$container).removeClass(
  'visibility-hidden price-container--unit-available'
);

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
$(this.selectors.SKU).html(variant.sku);
  1. 在步驟 12 的程式碼上新增以下程式碼片段:
if (variant.unit_price_measurement) {
  var $unitPrice = $(this.selectors.unitPrice, this.$container);
  var $unitPriceBaseUnit = $(
    this.selectors.unitPriceBaseUnit,
    this.$container
  );

  $unitPrice.html(
    theme.Currency.formatMoney(variant.unit_price, moneyFormat)
  );
  $unitPriceBaseUnit.html(this.getBaseUnit(variant));

  $(this.selectors.priceContainer, this.$container).addClass(
    'price-container--unit-available'
  );
}

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,搜尋「this.destroyImageCarousel();」並找出以下程式碼:
onUnload: function() {
  this.$container.off(this.settings.namespace);
  this.destroyImageCarousel();
}
  1. 在步驟 14 的程式碼上新增以下程式碼片段:
getBaseUnit: function(variant) {
  return variant.unit_price_measurement.reference_value === 1
    ? variant.unit_price_measurement.reference_unit
    : variant.unit_price_measurement.reference_value +
        variant.unit_price_measurement.reference_unit;
},

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯英文翻譯

  1. 在「語言代碼」目錄中,按一下「en.default.json」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:

"refresh_page": "choosing a selection results in a full page refresh"
  1. 在步驟 2 的程式碼上新增以下程式碼片段:
"unit_price_separator": "per",

編輯後,結果應如下所示:

更新版 en.default.json 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼:
"include_taxes": "Tax included.",
  1. 在步驟 4 的程式碼下方新增以下程式碼片段:
"unit_price": "Unit price",

編輯後,結果應如下所示:

更新版 en.default.json 檔案

  1. 按一下「儲存」來確認變更內容。

(選用) 為其他語言新增翻譯

  1. 在 Shopify 管理介面 中,前往「佈景主題」頁面。

  2. 點擊「...」按鈕 >「編輯預設佈景主題內容

  3. 點擊「變更佈景主題語言」,然後選取您要編輯的語言。此操作僅能在您已發佈的佈景主題上進行。

  4. 在搜尋欄輸入 Unit Price

  5. 在「一般 / 無障礙功能」下方更新單價分隔符號

  6. 在「產品 / 一般」下方更新單價標籤

  7. 按一下「儲存」。

Minimal

Minimal 的步驟

Minimal 佈景主題 11.1.0 和以上的版本可以使用單價功能。如果您無法將佈景主題更新為最新版本,則可以新增單價自訂內容至舊版的 Minimal。

更新程式碼片段

  1. 找出並展開「程式碼片段」資料夾。

  2. 選取「新增程式碼片段」。

  3. 輸入名稱 product-unit-price

  4. product-unit-price.liquid 複製並貼上以下程式碼。

{%- unless available -%}
  {%- if variant.title -%}
    {%- assign available = variant.available -%}
  {%- else -%}
    {%- assign available = true -%}
  {%- endif -%}
{%- endunless -%}
<span class="product-unit-price{% unless available and variant.unit_price_measurement %} hide{% endunless %}{% if wrapper_class != blank %} {{ wrapper_class }}{% endif %}" data-unit-price-container>
  {%- capture unit_price_separator -%}
    <span aria-hidden="true">/</span><span class="visually-hidden">{{ 'general.accessibility.unit_price_separator' | t }}</span>
  {%- endcapture -%}
  {%- capture unit_price_base_unit -%}
    <span data-unit-price-base-unit>
      {%- if available and variant.unit_price_measurement -%}
        {%- if variant.unit_price_measurement.reference_value != 1 -%}
          {{- variant.unit_price_measurement.reference_value -}}
        {%- endif -%}
        {{ variant.unit_price_measurement.reference_unit }}
      {%- endif -%}
    </span>
  {%- endcapture -%}
  <span class="visually-hidden">{{ 'products.product.unit_price_label' | t }}</span>
  <span data-unit-price>{{ variant.unit_price | money }}</span>{{- unit_price_separator -}}{{- unit_price_base_unit -}}
</span>
  1. 按一下「儲存」。

  2. 找出並編輯檔案 product-grid-item.liquid

  3. 請取代這行:

{% capture price %}{{ featured.price | money }}{% endcapture %}

取代為這行:

{%- assign price = featured.price | money -%}
  1. 使用「查詢鍵盤快捷鍵」功能,找出 {{ price }},並新增下方程式碼:
{%- assign variant = featured.selected_or_first_available_variant -%}
{%- if variant.available and variant.unit_price_measurement -%}
  {% include 'product-unit-price', variant: variant, wrapper_class: 'grid-link__unit-price' %}
{%- endif -%}

編輯完成後,product-grid-item.liquid 檔案應如下所示:

更新版 product-grid-item.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

  2. 找出並編輯檔案 search-result.liquid

  3. 使用「查詢鍵盤快捷鍵」功能,找出 {% if item.object_type == 'product' %},並在該行下方新增以下程式碼:

{%- assign variant = item.selected_or_first_available_variant -%}
  1. 現在使用「查詢鍵盤快捷鍵」功能,找出下列兩個程式碼片段:
<s><small>{{ item.compare_at_price_max | money }}</small></s>

<span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
<span itemprop="price">
  {{ item.price | money }}
</span>
  1. 在前一步驟列出的兩個程式碼下方 新增以下程式碼區段:
{%- if variant.available and variant.unit_price_measurement -%}
  {% include 'product-unit-price', variant: variant %}
{%- endif -%}

編輯完成後,search-result.liquid 檔案應如下所示:

更新版 search-result.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

更新樣式

  1. 找出並展開「資產」資料夾。

  2. 編輯檔案 theme.scss.liquid

  3. 使用查詢鍵盤快捷鍵功能找出此程式碼區塊:

.grid-link__title,
.grid-link__meta {
  position: relative;
  margin-bottom: 5px;
  1. 在上個步驟中找到的程式碼片段下方插入以下程式碼區塊:
font-family: $headerFontStack;
  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼片段:
.grid-link__sale_price {
  opacity: 0.95;
  filter: alpha(opacity=95);
}
  1. 在上個步驟中找到的程式碼片段下方插入以下程式碼區塊:
.grid-link__unit-price {
  font-size: 1em;
}
  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼片段:
.order-discount--list {
  margin: 0.8em 0 0.6em 1.3em;
  list-style: none;
  padding: 0;
}
  1. 在上個步驟中找到的程式碼片段下方插入以下程式碼區塊:
.order-discount--price {
  margin-bottom: 0;
}
  1. 使用「查詢鍵盤快捷鍵」功能,找出以下程式碼片段:
.cart__product-title {
  display: inline-block;
  1. 在上個步驟中找到的程式碼片段下方插入以下程式碼區塊:
font-weight: $bodyFontWeightBold;

編輯完成後,theme.scss.liquid 檔案應如下所示:

更新版 theme.scss.liquid 檔案 - 第 1 部分
更新版 theme.scss.liquid 檔案 - 第 2 部分
更新版 theme.scss.liquid 檔案 - 第 3 部分

  1. 按一下「儲存」來確認變更內容。

  2. 找出並編輯檔案 timber.scss.liquid

  3. 使用「查詢鍵盤快捷鍵」功能,找出此程式碼:

.quantity-selector {
    display: inline-block;
  }
}
  1. 在上個步驟中找到的程式碼片段下方插入以下程式碼區塊:
.product-single__title {
  font-weight: $bodyFontWeightBold;
}
  1. 在檔案最下方插入此程式碼:
.product-unit-price {
  color: rgba($colorTextBody, 0.6);
  display: block;
  font-family: $headerFontStack;
  font-size: em(12px);
}

編輯完成後,timber.scss.liquid 檔案應如下所示:

更新版 timber.scss.liquid 檔案 - 第 1 部分
更新版 timber.scss.liquid 檔案 - 第 2 部分

  1. 按一下「儲存」來確認變更內容。

更新範本

  1. 找出並展開「範本」資料夾。

  2. 找出並編輯檔案 customers/order.liquid

  3. 使用「查詢鍵盤快捷鍵」功能,找出此程式碼:

{%- else -%}
  {{ line_item.original_price | money }}
{%- endif -%}
  1. 在步驟 3 的程式碼下方新增此程式碼:
{%- if line_item.unit_price_measurement -%}
  {% include 'product-unit-price', variant: line_item, available: true %}
{%- endif -%}

編輯完成後,customers/order.liquid 檔案應如下所示:

更新版 order.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

更新 JavaScript

  1. 在「資產」中找出並編輯 theme.js

  2. 使用「查詢鍵盤快捷鍵」功能,找出 .shopify-payment-button 這一行,並將它取代為:

$shopifyPaymentButton: $('.shopify-payment-button', this.$container),
$unitPrice: $('[data-unit-price]', this.$container),
$unitPriceBaseUnit: $('[data-unit-price-base-unit]', this.$container),
$unitPriceContainer: $('[data-unit-price-container]', this.$container)

該程式碼區塊應如下所示:

更新版 theme.js 檔案

  1. 找出此程式碼:
else {
  this.selectors.$comparePrice.addClass('hide').html('');
  this.selectors.$comparePriceA11y.attr('aria-hidden', 'true');
}
  1. 在其下方新增此程式碼:
// Unit price
this.selectors.$unitPriceContainer.addClass('hide');
if (variant.unit_price) {
  this.selectors.$unitPrice.html(
      Shopify.formatMoney(variant.unit_price, theme.moneyFormat)
  );
  this.selectors.$unitPriceBaseUnit.html(this.getBaseUnit(variant));
  this.selectors.$unitPriceContainer.removeClass('hide');
}

結果應如下所示:

更新版 theme.js 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出此程式碼:
.attr('data-zoom')
  });
});
  1. 在上個步驟中找到的程式碼片段下方插入以下程式碼區塊:
},
getBaseUnit: function(variant) {
  return variant.unit_price_measurement.reference_value === 1
    ? variant.unit_price_measurement.reference_unit
    : variant.unit_price_measurement.reference_value +
        variant.unit_price_measurement.reference_unit;

結果應如下所示:

更新版 theme.js 檔案

  1. 按一下「儲存」來確認變更內容。

更新購物車範本

  1. 找出並展開的「區段」資料夾。

  2. 編輯檔案 cart-template.liquid

  3. 使用查詢鍵盤快捷鍵功能找出程式碼 <span class="order-discount h5">{{ item.final_price | money }}</span>

  4. 用此程式碼取代這一行:

<span class="order-discount order-discount--price h5">{{ item.final_price | money }}</span>
  1. 找到程式碼的第一項目 {%- if item.line_level_discount_allocations != blank -%}
{%- if item.line_level_discount_allocations != blank -%}
  <ul class="order-discount order-discount--list order-discount--title order-discount--cart medium-down--hide" aria-label="{{ 'customer.order.discount' | t }}">
    {%- for discount_allocation in item.line_level_discount_allocations -%}
      <li class="order-discount__item">
        <span class="icon icon-saletag" aria-hidden="true"></span>{{ discount_allocation.discount_application.title }} (-{{ discount_allocation.amount | money }})
      </li>
    {%- endfor -%}
  </ul>
{%- endif -%}
  1. 在步驟 5 的程式碼上方新增此程式碼區塊:
{%- if item.variant.available and item.variant.unit_price_measurement -%}
  {% include 'product-unit-price', variant: item, available: item.variant.available %}
{%- endif -%}

編輯完成後,cart-template.liquid 檔案應如下所示:

更新版 cart-template.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

更新精選產品

  1. 找出並展開的「區段」資料夾。

  2. 編輯檔案 featured-product.liquid

  3. 使用「查詢鍵盤快捷鍵」功能,找出 itemprop="name" 這一行,並將它取代為:

<h1 class="product-single__title" itemprop="name">{{ title }}</h1>
  1. 找出包含 id="PriceA11y" 的程式碼:
{% if compare_at_price > price %}
  <span id="PriceA11y" class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
  <s id="ComparePrice" class="product-single__sale-price">
    { compare_at_price | money }}
  </s>
{% endif %}
  1. 在上個步驟中找到的程式碼片段下方插入以下程式碼區塊:
{% include 'product-unit-price', variant: variant, available: true %}

編輯完成後,featured-product.liquid 檔案應如下所示:

更新版 featured-product.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

更新產品範本

  1. 找出並展開的「區段」資料夾。

  2. 編輯檔案 product-template.liquid

  3. 使用「查詢鍵盤快捷鍵」功能,找出 itemprop="name" 這一行,並將它取代為:

<h1 class="product-single__title" itemprop="name">{{ product.title }}</h1>
  1. 使用「查詢鍵盤快捷鍵」功能,找出此程式碼:
{% else %}
  <span id="ComparePriceA11y" class="visually-hidden" aria-hidden="true">{{ 'products.product.sale_price' | t }}</span>
    <s id="ComparePrice" class="product-single__sale-price hide">
      {{ product.compare_at_price_max | money }}
    </s>
{% endif %}
  1. 新增以下這行:
{% include 'product-unit-price', variant: variant, available: true %}

編輯完成後,product-template.liquid 檔案應如下所示:

更新版 product-template.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

更新語言代碼

  1. 找出並展開「語言代碼」資料夾。

  2. 開啟並編輯 en.default.json 檔案。

  3. 使用「查詢鍵盤快捷鍵」功能,找出 refresh_page 這一行,並將它取代為:

"refresh_page": "choosing a selection results in a full page refresh",
"unit_price_separator": "per"

結果應如下所示:

更新版 en.default.json 檔案

  1. 找出包含 full_details 的這一行,並將它取代為:
"full_details": "Full details",
"unit_price_label": "Unit price"

結果應如下所示:

更新版 en.default.json 檔案

  1. 按一下「儲存」來確認變更內容。

(選用) 為其他語言新增翻譯

  1. 在 Shopify 管理介面 中,前往「佈景主題」頁面。

  2. 點擊「...」按鈕 >「編輯預設佈景主題內容」。

  3. 點擊「變更佈景主題語言」,然後選取您要編輯的語言。此操作僅能在您已發佈的佈景主題上進行。

  4. 在搜尋欄輸入 Unit Price

  5. 在「一般 / 無障礙功能」下方更新單價分隔符號

  6. 在「產品 (複數) / 產品」下方更新單價標籤

  7. 按一下「儲存」。

Venture

Venture 的步驟

單價功能已新增至 Venture 佈景主題 9.4.0 和以上的版本。如果您無法將佈景主題更新為最新版本,請依照這些步驟將單價自訂內容套用至舊版的 Venture。

編輯佈景主題語言檔案

  1. 在「語言代碼」目錄中,按一下「en.default.json」。

  2. 使用「查詢鍵盤快捷鍵」,找出包含 refresh_page 的這一行:

"refresh_page": "choosing a selection results in a full page refresh"
  1. 在步驟 2 的的這一行上方新增以下程式碼:
"unit_price_separator": "per",

編輯後,結果應如下所示:

更新版 en.default.json 檔案

  1. 使用「查詢鍵盤快捷鍵」,找出包含 stock_unavailable 的這一行:
"stock_unavailable": "The item could not be added to your cart because there are not enough in stock."
  1. 在步驟 4 的的這一行上方新增以下程式碼:
"unit_price_label": "Unit price",

編輯後,結果應如下所示:

更新版 en.default.json 檔案

  1. 按一下「儲存」來確認變更內容。

編輯佈景主題樣式表

  1. 「資產」目錄中,按一下 theme.scss.liquid

  2. 使用「查詢鍵盤快捷鍵」功能,找出這一行 .product-single__policies {

.product-single__policies {
    font-size: em($font-size-base - 1);
  }
  1. 在步驟 2 的程式碼區塊 } 結束標籤下方新增以下程式碼:
.product-unit-price {
    font-size: em(12);
    color: $color-body-text;
  }

  .product-card__unit-price {
    display: block;
  }

編輯完成後,theme.scss.liquid 檔案應如下所示:

更新版 theme.scss.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

新增產品單價程式碼片段

  1. 「程式碼片段」目錄中,按一下「新增程式碼片段」

  2. 輸入名稱 product-unit-price

  3. 將以下程式碼新增到 product-unit-price.liquid

<span class="product-unit-price{% if wrapper_class != blank %} {{ wrapper_class }}{% endif %}{% unless product_variant.unit_price_measurement %} hide{% endunless %}" data-unit-price-container>
  {%- capture unit_price_separator -%}
    <span aria-hidden="true">/</span><span class="visually-hidden">{{ 'general.accessibility.unit_price_separator' | t }}</span>
  {%- endcapture -%}
  {%- capture unit_price_base_unit -%}
    <span data-unit-price-base-unit>
      {%- if product_variant.unit_price_measurement.reference_value != 1 -%}
        {{- product_variant.unit_price_measurement.reference_value -}}
      {%- endif -%}
      {{ product_variant.unit_price_measurement.reference_unit }}
    </span>
  {%- endcapture -%}
  <span class="visually-hidden">{{ 'products.product.unit_price_label' | t }}</span>
  <span data-unit-price>{{ product_variant.unit_price | money }}</span>
  {{- unit_price_separator -}}{{- unit_price_base_unit -}}
</span>
  1. 按一下「儲存」來確認變更內容。

編輯產品卡程式碼片段

  1. 在「程式碼片段」目錄中,按一下「product-card.liquid」。

  2. 使用「查詢鍵盤快捷鍵」功能,找出這一行 <a href="{{ product.url | within: collection }}"

  3. 在步驟 2 的的這一行上方新增以下程式碼:

{%- assign current_variant = product.selected_or_first_available_variant -%}

編輯後,結果應如下所示:

更新版 product-card.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出這一行 <div class="product-card__price">
<div class="product-card__price">
  {% if product.compare_at_price > product.price %}
    {% comment %}
      Product is on sale
    {% endcomment %}
    {% if product.price_varies %}
      {% assign sale_price = product.price | money_without_trailing_zeros %}
      {{ 'products.product.on_sale_from_html' | t: price: sale_price }}
    {% else %}
      <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
      <s class="product-card__regular-price">{{ product.compare_at_price | money_without_trailing_zeros }}</s>
      <span class="visually-hidden">{{ 'products.product.sale_price' | t }}</span>
      {{ product.price | money_without_trailing_zeros }}
    {% endif %}
  {% else %}
    {% comment %}
      Not on sale, but could still have varying prices
    {% endcomment %}
    {% if product.price_varies %}
      {% assign price = product.price | money_without_trailing_zeros %}
      {{ 'products.product.from_text_html' | t: price: price }}
    {% else %}
      <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
      {{ product.price | money_without_trailing_zeros }}
    {% endif %}
  {% endif %}
</div>
  1. 在步驟 5 的 </div> 結尾標籤上方新增以下程式碼:
{%- unless product.price_varies -%}
  {%- if current_variant.unit_price_measurement -%}
    {% include 'product-unit-price', product_variant: current_variant, wrapper_class: "product-card__unit-price" %}
  {%- endif -%}
{%- endunless -%}

編輯後,結果應如下所示:

更新版 product-card.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯購物車頁面範本

  1. 「區段」目錄中,按一下 cart-template.liquid

  2. 使用「查詢鍵盤快捷鍵」,找出 <td class="cart__cell--total"> 第一次出現的地方:

<td class="cart__cell--total">
  {%- if item.original_line_price != item.final_line_price -%}
    <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
    <del class="cart__item-total">{{ item.original_line_price | money }}</del>
    <span class="visually-hidden">{{ 'products.product.sale_price' | t }}</span>
    <span class="cart__item-total">{{ item.final_line_price | money }}</span>
  {%- else -%}
    <span class="cart__item-total">{{ item.original_line_price | money }}</span>
  {%- endif -%}
  1. 在步驟 2 的 endif 結尾標籤下方新增以下程式碼:
{%- if item.unit_price_measurement -%}
  {% include 'product-unit-price', product_variant: item %}
{%- endif -%}

編輯後,結果應如下所示:

更新版 cart-template.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」,找出 <td class="cart__cell--total"> 第二次出現的地方:
<td class="cart__cell--total">
  {{#if discountsApplied}}
      <span class="visually-hidden">{% endraw %}{{ 'products.product.regular_price' | t }}{% raw %}</span>
    <del class="cart__item-total">{{{originalLinePrice}}}</del>
    <span class="visually-hidden">{% endraw %}{{ 'products.product.sale_price' | t }}{% raw %}</span>
    <span class="cart__item-total">{{{linePrice}}}</span>
  {{else}}
    <span class="cart__item-total">{{{originalLinePrice}}}</span>
  {{/if}}
  {{#if discountsApplied}}
    <ul class="order-discount order-discount--cart order-discount--list order-discount--title" aria-label="{% endraw %}{{ 'customer.order.discount' | t }}{% raw %}">
      {{#each discounts}}
        <li class="order-discount__item">
          {% endraw %}{%- include 'icon-saletag' -%}{% raw %}{{ this.discount_application.title }} (-{{{ this.formattedAmount }}})
        </li>
      {{/each}}
    </ul>
  {{/if}}
  1. 在步驟 4 的 {{/if}} 結尾標籤下方新增以下程式碼:
{{#if unitPrice}}
  <span class="visually-hidden">{% endraw %}{{ 'products.product.unit_price_label' | t }}{% raw %}</span>
  <span class="product-unit-price">
    {% endraw %}
      {%- capture unit_price_separator -%}
        <span aria-hidden="true">/</span><span class="visually-hidden">&nbsp;{{ 'general.accessibility.unit_price_separator' | t }}&nbsp;</span>
      {%- endcapture -%}
    {% raw %}
    <span>{{{ unitPrice.price }}}</span>{% endraw %}{{- unit_price_separator -}}{% raw %}{{#if unitPrice.addRefererenceValue }}{{{ unitPrice.reference_value }}}{{/if}}{{{ unitPrice.reference_unit }}}
  </span>
{{/if}}

編輯後,結果應如下所示:

更新版 cart-template.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯精選產品頁面範本

  1. 「區段」目錄中,按一下 featured-product.liquid

  2. 使用「查詢鍵盤快捷鍵」功能,找出這一行 {% assign current_variant = product.selected_or_first_available_variant %}

  3. 在步驟 2 的這一行下方新增以下程式碼:

{% assign variants_with_unit_price = product.variants | where: "unit_price_measurement" %}

編輯後,結果應如下所示:

更新版 featured-product.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」,找出包含 <ul class="product-single__meta-list 的這一行:
<ul class="product-single__meta-list list--no-bullets list--inline">
  <li id="ProductSaleTag-{{ section.id }}" class="{% unless product.compare_at_price > product.price %}hide{% endunless %}">
  <div class="product-tag">
    {{ 'products.product.on_sale' | t }}
  </div>
  </li>
  <li>
    {% unless product.compare_at_price_max > product.price %}
      <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
    {% endunless %}
    <span id="ProductPrice-{{ section.id }}" class="product-single__price" itemprop="price" content="{{ current_variant.price | divided_by: 100.00 }}">
      {{ current_variant.price | money }}
    </span>
  </li>
  {% if product.compare_at_price_max > product.price %}
    <li>
      <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
      <s id="ComparePrice-{{ section.id }}" class="product-single__price product-single__price--compare">
        {{ current_variant.compare_at_price | money }}
      </s>
    </li>
  {% endif %}
  {% if section.settings.stock_enable %}
  1. 在此 ul 標籤下方,找出程式碼 {% if section.settings.stock_enable %}

  2. 在步驟 6 的 if 區塊上方新增以下程式碼:

{%- if variants_with_unit_price.size > 0 -%}
  <li>
    {% include 'product-unit-price', product_variant: current_variant %}
  </li>
{%- endif -%}

編輯後,結果應如下所示:

更新版 featured-product.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯產品頁面範本

  1. 「區段」目錄中,按一下 product-template.liquid

  2. 使用「查詢鍵盤快捷鍵」功能,找出這一行 {% assign current_variant = product.selected_or_first_available_variant %}

  3. 在步驟 2 的這一行下方新增以下程式碼:

{% assign variants_with_unit_price = product.variants | where: "unit_price_measurement" %}

編輯後,結果應如下所示:

更新版 product-template.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」,找出包含 <ul class="product-single__meta-list 的這一行:
<ul class="product-single__meta-list list--no-bullets list--inline{% if shop.taxes_included or shop.shipping_policy.body != blank %} product-single__price-container{% endif %}">
  <li id="ProductSaleTag-{{ section.id }}" class="{% unless product.compare_at_price > product.price %}hide{% endunless %}">
    <div class="product-tag">
      {{ 'products.product.on_sale' | t }}
    </div>
  </li>
  <li>
    {% unless product.compare_at_price_max > product.price %}
      <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
    {% endunless %}
    <span id="ProductPrice-{{ section.id }}" class="product-single__price" itemprop="price" content="{{ current_variant.price | divided_by: 100.00 }}">
      {{ current_variant.price | money }}
    </span>
  </li>
  {% if product.compare_at_price_max > product.price %}
    <li>
      <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
      <s id="ComparePrice-{{ section.id }}" class="product-single__price product-single__price--compare">
        {{ current_variant.compare_at_price | money }}
      </s>
    </li>
  {% endif %}
  {% if section.settings.stock_enable %}
  1. 在此 ul 標籤下方,找出程式碼 {% if section.settings.stock_enable %}

  2. 在步驟 5 的 if 區塊上方新增以下程式碼:

{%- if variants_with_unit_price.size > 0 -%}
  <li>
    {% include 'product-unit-price', product_variant: current_variant %}
  </li>
{%- endif -%}

編輯後,結果應如下所示:

更新版 product-template.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯客戶的訂單範本

  1. 在「範本」目錄中,按一下「customers/order.liquid」。

  2. 使用「查詢鍵盤快捷鍵」功能,找出這一行 <td class="text-right" data-label="{{ 'customer.order.price' | t }}">

<td class="text-right" data-label="{{ 'customer.order.price' | t }}">
  {%- if line_item.original_price != line_item.final_price -%}
    <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
      <del>{{ line_item.original_price | money }}</del>
      <span class="visually-hidden">{{ 'products.product.sale_price' | t }}</span>
      <span class="order-discount">{{ line_item.final_price | money }}</span>
  {%- else -%}
    {{ line_item.original_price | money }}
  {%- endif -%}
</td>
  1. 將步驟 2 中的程式碼取代為以下程式碼:
<td class="text-right" data-label="{{ 'customer.order.price' | t }}">
  <div>
    {%- if line_item.original_price != line_item.final_price -%}
      <span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
      <del>{{ line_item.original_price | money }}</del>
      <span class="visually-hidden">{{ 'products.product.sale_price' | t }}</span>
      <span class="order-discount">{{ line_item.final_price | money }}</span>
    {%- else -%}
      {{ line_item.original_price | money }}
    {%- endif -%}
  </div>
  {%- if line_item.unit_price_measurement -%}
    {% include 'product-unit-price', product_variant: line_item %}
  {%- endif -%}
</td>

編輯完成後,customers/order.liquid 檔案應如下所示:

更新版 customers/order.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯您佈景主題的 JavaScipt 檔案

  1. 「資產」目錄中,按一下 theme.js

  2. 使用「查詢鍵盤快捷鍵」功能,找出這一行 // Create item's data object and add to 'items' array

  3. 在步驟 2 的的這一行上方新增以下程式碼:

var unitPrice = null;
if (cartItem.unit_price_measurement) {
  unitPrice = {
    addRefererenceValue:
      cartItem.unit_price_measurement.reference_value !== 1,
    price: theme.Currency.formatMoney(
      cartItem.unit_price,
      theme.moneyFormat
    ),
    reference_value: cartItem.unit_price_measurement.reference_value,
    reference_unit: cartItem.unit_price_measurement.reference_unit
  };
}

編輯後,結果應如下所示:

更新版 theme.js 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出這一行 vendor: cartItem.vendor,

  2. 在步驟 4 的這一行下方新增以下程式碼:

unitPrice: unitPrice,

編輯後,結果應如下所示:

更新版 theme.js 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出這一行 shopifyPaymentButton: '.shopify-payment-button'

  2. 將步驟 6 中的這一行取代為以下程式碼:

shopifyPaymentButton: '.shopify-payment-button',
unitPrice: '[data-unit-price]',
unitPriceBaseUnit: '[data-unit-price-base-unit]',
unitPriceContainer: '[data-unit-price-container]'

編輯後,結果應如下所示:

更新版 theme.js 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出這一行 _updateSKU: function(evt) {

  2. 在步驟 8 的這一行上方新增以下程式碼:

_getBaseUnit: function(variant) {
  return variant.unit_price_measurement.reference_value === 1
    ? variant.unit_price_measurement.reference_unit
    : variant.unit_price_measurement.reference_value +
      variant.unit_price_measurement.reference_unit;
},

編輯後,結果應如下所示:

更新版 theme.js 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出這一行 this._updateIncomingInfo(variant);
} else {
  // Variant is sold out, disable the submit button
  cache.$addToCart.prop('disabled', true).addClass('btn--sold-out');
  cache.$addToCartText.html(theme.strings.soldOut);
  $(this.selectors.shopifyPaymentButton, this.$container).hide();
  // Update when stock will be available
  this._updateIncomingInfo(variant);
}
  1. 在步驟 10 的 } 結尾標籤下方新增以下程式碼:
$(this.selectors.unitPriceContainer, this.$container).addClass('hide');

if (variant.unit_price_measurement) {
  var $unitPrice = $(this.selectors.unitPrice, this.$container);
  var $unitPriceBaseUnit = $(
    this.selectors.unitPriceBaseUnit,
    this.$container
  );

  $unitPrice.html(
    theme.Currency.formatMoney(variant.unit_price, theme.moneyFormat)
  );
  $unitPriceBaseUnit.html(this._getBaseUnit(variant));

  $(this.selectors.unitPriceContainer, this.$container).removeClass(
    'hide'
  );
}

編輯後,結果應如下所示:

更新版 theme.js 檔案

  1. 按一下「儲存」來確認變更內容。

(選用) 為其他語言新增翻譯

  1. 在 Shopify 管理介面 中,前往「佈景主題」頁面。

  2. 點擊「...」按鈕 >「編輯預設佈景主題內容」。

  3. 點擊「變更佈景主題語言」,然後選取您要編輯的語言。此操作僅能在您已發佈的佈景主題上進行。

  4. 在搜尋欄輸入 Unit Price

  5. 在「一般 / 無障礙功能」下方更新單價分隔符號

  6. 在「產品 (複數) / 產品」下方更新單價標籤

  7. 按一下「儲存」。

Supply

Supply 的步驟

單價功能已新增至 Supply 佈景主題 8.3.0 和以上的版本。如果您無法將佈景主題更新為最新版本,請依照這些步驟將單價自訂內容套用至舊版的 Supply。

新增產品單價程式碼片段

  1. 找出並展開「程式碼片段」資料夾。

  2. 選取「新增程式碼片段」。

  3. 輸入名稱 product-unit-price

  4. 複製貼上以下程式碼至檔案中,並選取「儲存」。

{%- unless available -%}
{%- if variant.title -%}
    {%- assign available = variant.available -%}
{%- else -%}
    {%- assign available = true -%}
{%- endif -%}
{%- endunless -%}
<div class="product-price-unit {% if available and variant.unit_price_measurement %} product-price-unit--available{% endif %}" data-unit-price-container>
<span class="visually-hidden">{{ 'products.product.unit_price_label' | t }}</span>
{%- capture unit_price_separator -%}
    <span aria-hidden="true">/</span><span class="visually-hidden">&nbsp;{{ 'general.accessibility.unit_price_separator' | t }}&nbsp;</span>
{%- endcapture -%}
{%- capture unit_price_base_unit -%}
    <span>
    {%- if available and variant.unit_price_measurement -%}
        {%- if variant.unit_price_measurement.reference_value != 1 -%}
        {{- variant.unit_price_measurement.reference_value -}}
        {%- endif -%}
        {{ variant.unit_price_measurement.reference_unit }}
    {%- endif -%}
    </span>
{%- endcapture -%}
<span data-unit-price>{{ variant.unit_price | money }}</span>
{{- unit_price_separator -}}
<span data-unit-price-base-unit>{{- unit_price_base_unit -}}</span>
</div>

編輯完成後,product-unit-price.liquid 檔案應如下所示:

更新版 product-unit-price.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯精選產品範本

  1. 找出並展開的「區段」資料夾,然後選取「featured-product.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 {% include 'price' with price %}

<li>
  <span id="productPrice-{{ section.id }}" class="h1">
    {% include 'price' with price %}
  </span>
</li>
  1. 在步驟 2 的 </span> 程式碼片段結尾下方新增以下程式碼:
{% include 'product-unit-price' variant: variant %}

編輯完成後,featured-product.liquid 檔案應如下所示:

更新版 featured-product.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯產品範本

  1. 找出並展開的「區段」資料夾,然後選取「product-template.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 {% include 'price' with variant.price %}

<li>
  <span id="productPrice-{{ section.id }}" class="h1">
    {% include 'price' with variant.price %}
  </span>
</li>
  1. 在步驟 2 的 </span> 結尾下方新增以下程式碼:
{% include 'product-unit-price', variant: variant %}

編輯完成後,product-template.liquid 檔案應如下所示:

更新版 product-template.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯產品格狀項目程式碼片段

  1. 找出並展開「程式碼片段」資料夾,然後選取 product-grid-item.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 {% if on_sale and section.settings.product_show_saved_amount %}

{% if on_sale and section.settings.product_show_saved_amount %}
    <span class="sale-tag{% unless section.settings.show_compare_at_price %} medium--right{% endunless %}{% if section.settings.product_reviews_enable %} has-reviews{% endif %}">
      {% assign compare_price = product.compare_at_price %}
      {% assign product_price = product.price %}
      {% include 'price-sale' %}
    </span>
  {% endif %}
</div>
  1. 用以下程式碼片段取代該程式碼:
{%- if product.selected_or_first_available_variant.available and product.selected_or_first_available_variant.unit_price_measurement -%}
  {% include 'product-unit-price', variant: product.selected_or_first_available_variant %}
{%- endif -%}
  </div>
{% if on_sale and section.settings.product_show_saved_amount %}
  <div class="sale-tag{% unless section.settings.show_compare_at_price %} medium--right{% endunless %}{% if section.settings.product_reviews_enable %} has-reviews{% endif %}">
    {% assign compare_price = product.compare_at_price %}
    {% assign product_price = product.price %}
    {% include 'price-sale' %}
  </div>
{% endif %}

編輯完成後,product-grid-item.liquid 檔案應如下所示:

更新版 product-grid-item.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯產品清單項目程式碼片段

  1. 找出並展開「程式碼片段」資料夾,然後選取 product-list-item.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 <div class="product-item--price text-center">

<div class="product-item--price text-center">
  <p class="h1 medium-down--left">
    {% if on_sale %}
      <span class="visually-hidden">{{ "products.general.sale_price" | t }}</span>
    {% else %}
      <span class="visually-hidden">{{ "products.general.regular_price" | t }}</span>
    {% endif %}
    {% include 'price' with product.price %}
    {% if on_sale and section.settings.product_show_compare_at_price %}
      <small>
        <s>
          <span class="visually-hidden">{{ "products.general.regular_price" | t }}</span>
          {% include 'price' with product.compare_at_price %}
        </s>
      </small>
    {% endif %}
  </p>
  {% if on_sale and section.settings.product_show_saved_amount %}
    <span class="sale-tag medium-down--right{% if section.settings.product_reviews_enable %} has-reviews{% endif %}">
      {% assign compare_price = product.compare_at_price %}
      {% assign product_price = product.price %}
      {% include 'price-sale' %}
    </span>
  1. 用以下程式碼片段取代該程式碼:
<div class="text-center">
  <div class="product-item--price">
    <p class="h1 medium-down--left">
      {% if on_sale %}
        <span class="visually-hidden">{{ "products.general.sale_price" | t }}</span>
      {% else %}
        <span class="visually-hidden">{{ "products.general.regular_price" | t }}</span>
      {% endif %}
      {% include 'price' with product.price %}
      {% if on_sale and section.settings.product_show_compare_at_price %}
        <small>
          <s>
            <span class="visually-hidden">{{ "products.general.regular_price" | t }}</span>
            {% include 'price' with product.compare_at_price %}
          </s>
        </small>
      {% endif %}
    </p>
    {%- if product.selected_or_first_available_variant.available and product.selected_or_first_available_variant.unit_price_measurement -%}
      {% include 'product-unit-price', variant: product.selected_or_first_available_variant %}
    {%- endif -%}
  </div>
  {% if on_sale and section.settings.product_show_saved_amount %}
    <div class="sale-tag medium-down--right{% if section.settings.product_reviews_enable %} has-reviews{% endif %}">
      {% assign compare_price = product.compare_at_price %}
      {% assign product_price = product.price %}
      {% include 'price-sale' %}
    </div>

編輯完成後,product-list-item.liquid 檔案應如下所示:

更新版 product-list-item.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯搜尋結果方格程式碼片段

  1. 找出並展開「程式碼片段」資料夾,然後選取 search-result-grid.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 {% if on_sale and section.settings.product_show_saved_amount %}

{% if on_sale and section.settings.product_show_saved_amount %}
    <span class="sale-tag medium--right">
      {% assign compare_price = item.compare_at_price %}
      {% assign product_price = item.price %}
      {% include 'price-sale' %}
    </span>
  {% endif %}
</div>
  1. 用以下程式碼片段取代該程式碼:
{%- if item.first_available_variant.available and item.first_available_variant.unit_price_measurement -%}
    {% include 'product-unit-price', variant: item.first_available_variant %}
  {%- endif -%}
</div>
{% if on_sale and section.settings.product_show_saved_amount %}
  <div class="sale-tag medium--right">
    {% assign compare_price = item.compare_at_price %}
    {% assign product_price = item.price %}
    {% include 'price-sale' %}
  </div>
{% endif %}

編輯完成後,search-result-grid.liquid 檔案應如下所示:

更新版 search-result-grid.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯購物車範本

  1. 找出並展開「範本」資料夾,然後選取 cart.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 <del class="cart-original-price order-discount--cart-price">

<del class="cart-original-price order-discount--cart-price">{{ item.original_line_price | money }}</del>
  <span class="visually-hidden">{{ 'products.general.sale_price' | t }}</span>
  <span class="order-discount order-discount--cart-price">{{ item.final_line_price | money }}</span>
{%- else -%}
  <span class="cart-original-price order-discount--cart-price">{{ item.original_line_price | money }}</span>
{%- endif -%}
  1. 用以下程式碼片段取代該程式碼:
<small><s class="cart-original-price order-discount--cart-price">{{ item.original_line_price | money }}</s></small>
  <span class="visually-hidden">{{ 'products.general.sale_price' | t }}</span>
  <span class="order-discount order-discount--cart-price">{{ item.final_line_price | money }}</span>
{%- else -%}
  <span class="cart-original-price order-discount--cart-price">{{ item.original_line_price | money }}</span>
{%- endif -%}
{%- if item.variant.available and item.variant.unit_price_measurement -%}
  {% include 'product-unit-price' variant: item, available: item.variant.available %}
{%- endif -%}

編輯完成後,cart.liquid 檔案應如下所示:

更新版 cart.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯訂單範本

  1. 找出並展開「範本」資料夾,然後選取 customers/order.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 <td class="text-right" data-label="customer.order.price">

<td class="text-right" data-label="{{ 'customer.order.price' | t }}">
  {%- if line_item.original_price != line_item.final_price -%}
    <span class="visually-hidden">{{ 'products.general.regular_price' | t }}</span>
    <del>{{ line_item.original_price | money }}</del>
    <span class="visually-hidden">{{ 'products.general.sale_price' | t }}</span>
    <span class="order-discount">{{ line_item.final_price | money }}</span>
  {%- else -%}
    {{ line_item.original_price | money }}
  {%- endif -%}
</td>
  1. 在步驟 2 的 </td> 結尾上方新增以下程式碼:
{%- if line_item.unit_price_measurement -%}
  {% include 'product-unit-price', variant: line_item, available: true %}
{%- endif -%}

編輯完成後,customers/order.liquid 檔案應如下所示:

更新版 customers/order.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯佈景主題版面配置

  1. 找出並展開「版面配置」資料夾,然後選取 theme.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中包含 only_left: 的這一行:

product:{
  unavailable: {{ 'products.product.unavailable' | t | json }},
  will_be_in_stock_after:{{ 'products.product.will_be_in_stock_after' | t: date: '[date]' | json }},
  only_left:{{ 'products.product.only_left' | t: count: '1' | json }}
},
  1. 在步驟 2 的 only_left:{{ 'products.product.only_left' | t: count: '1' | json }} 上方新增以下程式碼:
unitPrice: {{ 'products.product.unit_price_label' | t | json }},
unitPriceSeparator: {{ 'general.accessibility.unit_price_separator' | t | json }},

編輯完成後,theme.liquid 檔案應如下所示:

更新版 theme.js.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯佈景主題樣式

  1. 找出並展開的「區段」資料夾,然後選取「theme.scss.liquid」檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 .product-item--price {

.product-item--price {
  @include clearfix;
  .h1 {
    margin-bottom: $gutter/2;
  }
  span {
    line-height: 22px;
  }
  small {
    white-space: nowrap;
  }
}
  1. 用以下程式碼片段取代該程式碼:
.product-item--price {
  @include clearfix;
  margin-bottom: $gutter/2;

  .h1 {
    margin-bottom: 0;
  }

  span {
    line-height: 22px;
  }

  small {
    white-space: nowrap;
  }
}

.product-price-unit {
  display: none;
  font-size: em(12px);
  margin-right: 10px;

  .cart-pricing &,
  .order-table & {
    margin-right: 0;
  }

  &.product-price-unit--available {
    display: block;
  }
}

編輯完成後,theme.scss.liquid 檔案應如下所示:

更新版 theme.scss.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯 JavaScript 佈景主題程式碼

  1. 找出並展開「資產」資料夾中,然後選取 theme.js.liquid 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 originalSelectorId: 'productSelect-' + sectionId,

selectors: {
  originalSelectorId: 'productSelect-' + sectionId,
  $addToCart: $('#addToCart-' + sectionId),
  $SKU: $('.variant-sku', this.$container),
  $productPrice: $('#productPrice-' + sectionId),
  $comparePrice: $('#comparePrice-' + sectionId),
  $addToCartText: $('#addToCartText-' + sectionId),
  $quantityElements: $('#quantity-selector-' + sectionId),
  $variantQuantity: $('#variantQuantity-' + sectionId),
  $variantQuantityMessage: $('#variantQuantity-' + sectionId + '__message'),
  $variantIncoming: $('#variantIncoming-' + sectionId),
  $variantIncomingMessage: $('#variantIncoming-' + sectionId + '__message'),
  $productImageContainer: $('#productPhotoContainer-' + sectionId),
  $productImageWrapper: $('[id^="productPhotoWrapper-' + sectionId + '"]'),
  $productImage: $('[id^="productPhotoImg-' + sectionId + '"]'),
  $productFullDetails: $('.full-details', this.$container),
  $thumbImages: $('#productThumbs-' + sectionId).find('a.product-photo-thumb'),
  $shopifyPaymentButton: '.shopify-payment-button'
}
  1. 在步驟 2 的 originalSelectorId: 'productSelect-' + sectionId, 上方新增以下程式碼:
unitPriceContainer: '[data-unit-price-container]',
unitPrice: '[data-unit-price]',
unitPriceBaseUnit: '[data-unit-price-base-unit]',

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 productVariantCallback: function(variant) {
productVariantCallback: function(variant) {
  var self = this;
  if (variant) {
    // Update variant image, if one is set
    if (variant.featured_image) {
      var newImg = variant.featured_image;
      var $newImage = this.settings.selectors.$productImageWrapper.filter('[data-image-id="' + newImg.id + '"]');
      var $otherImages = this.settings.selectors.$productImageWrapper.not('[data-image-id="' + newImg.id + '"]');

      $newImage.removeClass('hide');
      $otherImages.addClass('hide');
    }
  1. 在步驟 2 的 if (variant) { 下方新增以下程式碼:
// Update unit price, if one is set
var $unitPriceContainer = $(this.settings.selectors.unitPriceContainer, this.$container);

$unitPriceContainer.removeClass('product-price-unit--available');

if (variant.unit_price_measurement) {
  var $unitPrice = $(this.settings.selectors.unitPrice, this.$container);
  var $unitPriceBaseUnit = $(this.settings.selectors.unitPriceBaseUnit, this.$container);

  $unitPrice.text(Shopify.formatMoney(variant.unit_price, moneyFormat));
  $unitPriceBaseUnit.text(this.getBaseUnit(variant));
  $unitPriceContainer.addClass('product-price-unit--available');
}

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 customPriceFormat += ' <span aria-hidden="true"><s>' + comparePrice + '</s></span>';
customPriceFormat = ' <span aria-hidden="true">' + customPrice + '</span>';
customPriceFormat += ' <span aria-hidden="true"><s>' + comparePrice + '</s></span>';
customPriceFormat += ' <span class="visually-hidden"><span class="visually-hidden">products.general.regular_price</span> ' + a11yComparePrice + '</span>';
customPriceFormat += ' <span class="visually-hidden"><span class="visually-hidden">products.general.sale_price</span> ' + a11yPrice + '</span>';
  1. 用以下程式碼片段取代這一行 customPriceFormat += ' <span aria-hidden="true"><s>' + comparePrice + '</s></span>';
customPriceFormat += ' <span aria-hidden="true"><small><s>' + comparePrice + '</s></small></span>';

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出檔案中的這一行 $(this.settings.selectors.$shopifyPaymentButton, this.$container).hide();
} else {
  // The variant doesn't exist, disable submit button.
  // This may be an error or notice that a specific variant is not available.
  this.settings.selectors.$addToCart.addClass('disabled').prop('disabled', true);
  this.settings.selectors.$addToCartText.html(theme.strings.product.unavailable);
  this.settings.selectors.$variantQuantity.removeClass('is-visible');
  this.settings.selectors.$quantityElements.hide();
  $(this.settings.selectors.$shopifyPaymentButton, this.$container).hide();
}
  1. 在步驟 11 的程式碼片段下方新增以下程式碼:
},

getBaseUnit: function (variant) {
  return variant.unit_price_measurement.reference_value === 1
    ? variant.unit_price_measurement.reference_unit
    : variant.unit_price_measurement.reference_value +
        variant.unit_price_measurement.reference_unit;

編輯後,結果應如下所示:

更新版 theme.js.liquid 檔案

  1. 按一下「儲存」來確認變更內容。

編輯佈景主題語言檔案

  1. 找出並展開「語言代碼」資料夾,然後選取 en.default.json 檔案。

  2. 使用「查詢鍵盤快捷鍵」功能,找出檔案中包含 "refresh_page" 的這一行:

"accessibility": {
  "refresh_page": "choosing a selection results in a full page refresh"
},
  1. 在步驟 2 的 "refresh_page" 上方新增以下程式碼:
"unit_price_separator": "per",

編輯後,結果應如下所示:

更新版 en.default.json 檔案

  1. 使用「查詢鍵盤快捷鍵」功能,找出檔案中包含 "will_be_in_stock_after" 的這一行:
"product": {
  "sold_out": "Sold Out",
  "will_not_ship_until": "Will not ship until ",
  "quantity": "Quantity",
  "add_to_cart": "Add to Cart",
  "unavailable": "Unavailable",
  "will_be_in_stock_after": "Will be in stock after ",
  "only_left": {
    "one": "Only  left!",
    "other": "Only  left!"
  },
  "full_details": "Full details"
}
  1. 在步驟 5 的 "will_be_in_stock_after" 下方新增以下程式碼:
"unit_price_label": "Unit price",

編輯後,結果應如下所示:

更新版 en.default.json 檔案

  1. 按一下「儲存」來確認變更內容。

(選用) 為其他語言新增翻譯

  1. 在 Shopify 管理介面 中,前往「佈景主題」頁面。

  2. 點擊「...」按鈕 >「編輯預設佈景主題內容」。

  3. 點擊「變更佈景主題語言」,然後選取您要編輯的語言。此操作僅能在您已發佈的佈景主題上進行。

  4. 在搜尋列中輸入 Unit Price

  5. 在「一般 / 無障礙功能」下方更新單價分隔符號

  6. 在「產品 (複數) / 產品」下方更新單價標籤

  7. 按一下「儲存」。

在您的訂單通知中顯示單價

依預設,該功能啟用時,訂單確認通知會顯示單價。

如果您已為商品新增單價,但仍未顯示於訂單確認通知中,則您可能必須手動更新範本。

步驟如下:

  1. 在 Shopify 管理介面 中,前往「設定」>「通知」。

  2. 在「訂單」區段中,點擊「訂單確認」。

  3. 點擊「編輯程式碼」。

  4. 在範本內為 "order-list__item-price" 類別新增以下程式碼片段:

{%- if line_item.unit_price_measurement -%}
  <div class="order-list__unit-price">
     {{ line_item.unit_price | money }}/
     {%- if line_item.unit_price_measurement.reference_value != 1 -%}
       {{- line_item.unit_price_measurement.reference_value -}}
     {%- endif -%}
     {{ line_item.unit_price_measurement.reference_unit }}
  </div>
{%- endif -%}

醒目顯示的單價程式碼片段在訂單確認通知電子郵件內文 (HTML) 視窗中的適當位置。

5. 點擊「儲存」。

沒有找到您需要的答案嗎?我們很樂意為您提供協助。