いま、WooCommerceの案件を担当してます。
このブログはWooCommerceを使うタイミングがないとネタが発生しないのでありがたいことです。
ショップの要件
- 一部商品の価格は一切表示させない(HTMLレベルで出力しないようにする)。
- 販売の可否の設定は(クライアントでも)簡単に操作できるようにしたい。
- 登録時は販売不可をデフォルトとする。また、それが管理画面上でも視認できるようにする。
- 商品ページのレイアウトを工夫したいのでブロックエディタを使いたい。
今回のサイト、オンライン販売を可能にするのは当然だけど、一部の商品はオンライン注文を受け付けたくない+価格も公表しないというちょっと珍しいサイト。
一切の注文機能を省いたオンラインカタログ用にWooCommerceを利用するというのは以前耳にしたことはあったけど、さてどうしよう。
どういうふうにつくるか

大概の商品はオンライン販売をするので、WordPress + WooCommerce + Snow Monkeyで通常どおりに組み立てていくのが基本だけど、販売不可の商品をどう扱うかが面倒悩みどころです。
〜中略〜
今回の案件で使ったWooCommerceのフック
woocommerce_output_related_products_argsloop_shop_columnswoocommerce_upsell_display_argswoocommerce_sharewoocommerce_package_rateswoocommerce_cart_shipping_method_full_labelwc_add_to_cart_messagewoocommerce_add_to_cart_fragmentswoocommerce_checkout_fieldswoocommerce_billing_fieldswoocommerce_shipping_fieldswoocommerce_get_price_htmlwoocommerce_product_single_add_to_cart_textwoocommerce_product_add_to_cart_textwoocommerce_shipping_package_namewoocommerce_taxonomy_args_product_tagwoocommerce_taxonomy_args_product_catwoocommerce_before_shop_loop_item_title
woocommerce_single_product_summarywoocommerce_after_shop_loop_itemwoocommerce_single_product_summarywoocommerce_before_single_product_summarywoocommerce_after_main_contentwoocommerce_before_cart_tablewoocommerce_after_checkout_billing_formwoocommerce_thankyoubefore_woocommerce_initwoocommerce_review_order_before_submit
ざっとこんなところです。
Snow Monkeyのフックも多用していますが必要なら都度紹介しようと思います。
それぞれ何をするためのものかは随時追加予定だけど、公開しないと進まないのでいったんここで公開。