WooCommerceを使用したECサイトで、商品ページにバリエーションのJSONデータが表示されない状況になりました。本来formタグのカスタムデータ「data-product_variations」にバリエーションのJSONデータが渡ってくるのですが、何故か値が「false」となって専用プログラムで不具合が発生。商品の登録方法の違いかと思いましたが原因は別にありました。バリエーションの数が多い場合を考慮して、組み合わせが30より多い場合はJSONデータが吐き出されない仕様になっているようです。バリエーションの組み合わせが30より多い場合もJSONデータを出力するというわけで、いつものようにフックを使いサクっと解決します。デフォルトの閾値は30と設定されているのでこの値を大きくしてやりましょう。以下のコードをfunctions.phpなどに記述して数値を弄ります。<?phpfunction custom_wc_ajax_variation_threshold( $qty, $product ) { return 100;}add_filter( 'woocommerce_ajax_variation_threshold', 'custom_wc_ajax_variation_threshold', 10, 2 );3行目の数値を任意の値に変更します。もちろん、大きい数値であるほどパフォーマンスが落ちる可能性があることにご注意ください。参考:Variations filter not working properly when multiple product attributes used · Issue #16104 · woocommerce/woocommerceWooCommerce – Change ajax variation threshold