いま、WooCommerceの案件を担当してます。
このブログはWooCommerceを使うタイミングがないとネタが発生しないのでありがたいことです。

ショップの要件

  • 一部商品の価格は一切表示させない(HTMLレベルで出力しないようにする)。
  • 販売の可否の設定は(クライアントでも)簡単に操作できるようにしたい。
  • 登録時は販売不可をデフォルトとする。また、それが管理画面上でも視認できるようにする。
  • 商品ページのレイアウトを工夫したいのでブロックエディタを使いたい。

今回のサイト、オンライン販売を可能にするのは当然だけど、一部の商品はオンライン注文を受け付けたくない+価格も公表しないというちょっと珍しいサイト。
一切の注文機能を省いたオンラインカタログ用にWooCommerceを利用するというのは以前耳にしたことはあったけど、さてどうしよう。

どういうふうにつくるか

Photo by Christian Erfurt on Unsplash

大概の商品はオンライン販売をするので、WordPress + WooCommerce + Snow Monkeyで通常どおりに組み立てていくのが基本だけど、販売不可の商品をどう扱うかが面倒悩みどころです。

〜中略〜

今回の案件で使ったWooCommerceのフック

フィルターフック

woocommerce_output_related_products_args
loop_shop_columns
woocommerce_upsell_display_args
woocommerce_share
woocommerce_package_rates
woocommerce_cart_shipping_method_full_label
wc_add_to_cart_message
woocommerce_add_to_cart_fragments
woocommerce_checkout_fields
woocommerce_billing_fields
woocommerce_shipping_fields
woocommerce_get_price_html
woocommerce_product_single_add_to_cart_text
woocommerce_product_add_to_cart_text
woocommerce_shipping_package_name
woocommerce_taxonomy_args_product_tag
woocommerce_taxonomy_args_product_cat
woocommerce_before_shop_loop_item_title

アクションフック

woocommerce_single_product_summary
woocommerce_after_shop_loop_item
woocommerce_single_product_summary
woocommerce_before_single_product_summary
woocommerce_after_main_content
woocommerce_before_cart_table
woocommerce_after_checkout_billing_form
woocommerce_thankyou
before_woocommerce_init
woocommerce_review_order_before_submit

ざっとこんなところです。
Snow Monkeyのフックも多用していますが必要なら都度紹介しようと思います。
それぞれ何をするためのものかは随時追加予定だけど、公開しないと進まないのでいったんここで公開。

この記事を書いた人

GONSY

印刷会社のグラフィックデザイナーだった1998年に「会社案内」のHTML化をきっかけにWebの世界へ。
WordPressはMEから使っているけどプログラムスキルは一向に上がらない。WooCommerceは2018年から。忘れっぽくなってきたので、試したこと、実装方法を記録するためにブログをスタート。
最近、WordPress、WooCommerce、Snow Monkeyがおもしろいと感じるおじさん。