我正在尝试为functions.php文件制作一个代码片段,该代码片段只显示所选变体的一个价格,从而省略了在单个产品页面上显示的价格范围沿着变体价格。
add_action( 'woocommerce_before_single_product', 'my_remove_variation_price' );
$product_variations=$product_variable->get_available_variations;
function my_remove_variation_price() {
global $product;
if ( $product->is_type( 'variable' ) {
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price' );
}
}
问题是,当你有两个单一产品的变体,其中一个缺货时,这个脚本会在单一产品页面上隐藏剩下的一个变体的价格。我想也许可以为每个产品提供一个可用变体的计数,并使用IF来显示它们,使用标准的单一产品模板。或者,也许你有更好的解决办法?
2条答案
按热度按时间v8wbuo2f1#
要在单个产品页面上获取可变产品的“库存”变化计数,您可以:
1)仅使用php和Woocommerce WC_Product方法:
2)使用带有少量php的SQL查询(快速且轻松):
这两个代码都经过测试并正常工作。
a1o7rhls2#
这是我最终的工作代码,实现了LoicTheAztec的帮助下回答: