对于我的Woocommerce变量产品,我在单个产品页面上实现了自定义尺寸选择器,并将这些尺寸放在表格中:
这些变体只是:30B
30C
30D
而不是分为:30
和B
C
{{1} }
我想弄清楚的是:如何获取每个产品变体的运费等级?
我在购物车页面上有类似内容但我不知道变体ID是什么或者如何从单个产品页面获取它:
D
我知道如果有变体ID,该怎么做。我只是无法弄清楚如何得到它以便做其余的事情。我需要得到的唯一东西是产品ID和变体的slug(这个页面上还有一个颜色属性)。
但是我已经为该产品提供了一个默认的变体(因此设置了隐藏的$product_id = ( 0 != $cart_item['variation_id'] ) ? $cart_item['variation_id'] : $cart_item['product_id'];
// need the variation id for the above to be able to do the rest:
$product_shipping_classes = get_the_terms( $product_id, 'product_shipping_class' );
$product_shipping_class_name = ( $product_shipping_classes && ! is_wp_error( $product_shipping_classes ) ) ? current( $product_shipping_classes )->name : '';
)。
也许需要首先获取所选颜色的ID才能获取其他颜色的变量ID?
答案 0 :(得分:5)
在可变产品的WooCommerce产品单页中,您无法获得PHP中所选的产品变体,因为它是一个实时事件(客户端,而不是服务器端)。
这样做的方法是使用JavaScript / jQuery来获取它。由于您没有为此单一产品页面提供有关您的可变产品的任何相关代码,因此我无法为您提供完全符合您需求的实际工作代码。
在变量产品的单个产品页面上获取所选变体ID(在此示例中,我在添加到购物车按钮下方动态显示所选变体ID):
basename
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
此代码在WooCommerce 3+下进行测试并正常运行。
因此,在此基础上,您可以根据自己的要求制作自己的功能(因为您不再提供必要的详细信息或代码)。
一些相关的答案示例用法(使用jQuery和Woocommerce单个产品页面):