時間/日付指定をして商品を自動で非公開にする方法

AI-generated summary

商品を営業時間外に自動で非公開にしたい、特に店舗ごと・商品ごとに異なる時間設定で注文を止めたい、という相談。目的は「非公開」自体ではなく、営業時間外の購入を防ぐこと。

回答では、テーマのカスタマイズで対応する案が示された。具体的には、Shopifyのチュートリアルを参考に、Liquidで現在日時を取得して公開時間かどうかを判定し、カートや購入ボタンを非表示にする方法が提案された。あわせて、タイマー系アプリの利用候補も案内された。

その後の更新として、質問者はLiquidの現在時刻取得は実時刻とずれる場合があるとの情報を確認し、JavaScriptで時刻取得を行う方針に変更した。時刻の取得自体はできたが、時間帯に応じて購入ボタンを非表示にする実装はまだ完了していない。

現時点では完全な解決には至っておらず、JavaScriptを使った制御方法の検討が継続中。

登録している商品を指定した時間/日付の間、自動で非公開にする方法はありますでしょうか?

アプリやコード編集等で実現できる方法があればご教授いただきたいです。

[質問の背景]

現在、料理のデリバリーサービスのためのサイト制作を行っております。

本サイトを使用するユーザが、料理を取り扱う店舗の営業時間外に注文できないように

営業時間外の間、商品を非公開にしたいです。

また、店舗が複数あるため、商品ごとに非公開にする時間を変更したいと考えております。

目的は、店舗の営業時間外にユーザが商品を注文(購入)できないようにすることですので

商品を非公開にする以外にも本目的を達成できるアイデアがあれば教えていただきたいです。

よろしくお願いいたします。

テーマのカスタマイズについては以下にいろんなケースが載っていますのでご一読ください。
https://shopify.dev/tutorials

簡単にやるとしたら、上記の 中のdisable your cart の例を応用して、liquidで現在日時を取得して公開時間かどうか判定して、cartを非表示にするなどがあるかと思います。
https://shopify.dev/tutorials/customize-theme-hide-add-to-cart-buttons

アプリですと、このカテゴリでいかがでしょうか?
https://apps.shopify.com/browse/store-design-timers-and-counters?locale=ja

ご教授いただきありがとうございます!

上記サイトを参考にさせていただきます。

簡単にやるとしたら、上記の 中のdisable your cart の例を応用して、liquidで現在日時を取得して公開時間かどうか判定して、cartを非表示にするなどがあるかと思います。

下記サイトによると、liquidで現在日時の取得を行うと、実際の時刻ではない時刻を取得してしまうことがあるとのことだったので、JavaScriptを用いて時刻取得することとしました。

https://community.shopify.com/c/Shopify-Design/Comparing-time-with-current-time-in-liquid/td-p/393137

JavaScriptを用いて時刻取得はできたものの、時刻によって購入ボタンを非表示にする処理はまだ実装できていないため引き続き検討します。

大変参考になりました。ありがとうございました!