WooCommerceは、色々な機能をAPI化しているのが素晴らしい。
問題は、[products] で生成される商品一覧がイマイチなところ。商品が多いとカテゴリーに分けたり、リストにして注文を受けたりしたい。
有償プラグインで、WooCommerce Product Listingsというのがある。無料版もあったので試してみた。
とても良く出来たプラグインで、カスタマイズ性が高い。が、設定がだいぶ面倒。マルチサイトでいちいち設定するのを考えると、この手間は省きたい。そこで、作ることにした。
ようは、
- formの中に商品一覧
- カテゴリーごとに商品一覧を出す
- 商品ごとに、個数をinputできるようにする
- variationがある場合は、それぞれ別商品とする
- formのsubmitで、全商品の個数を更新し、cartへ遷移
できたのはこんな感じ
参考リンク
- https://docs.woocommerce.com/wc-apidocs/index.html
- https://github.com/woocommerce/woocommerce/issues/11827
- https://rudrastyh.com/woocommerce/add-product-to-cart-programmatically.html