我在函数PHP中添加了以下代码,以告知WooCommerce仅显示所选产品变体的价格(而不显示标准价格范围)。它适用于所有产品,但其中一种具有多种产品变体
我添加的代码未显示价格范围,但显示了实际价格:
add_action( 'woocommerce_before_single_product',
'check_if_variable_first' );function check_if_variable_first(){
if ( is_product() ) {
global $post;
$product = wc_get_product( $post->ID );
if ( $product->is_type( 'variable' ) ) {
// removing the price of variable products remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ); // Variable product only if($product->is_type('variable')):
?>
<style>
div.woocommerce-variation-price,
div.woocommerce-variation-availability,
div.hidden-variable-price {
height: 0px !important;
overflow:hidden;
position:relative;
line-height: 0px !important;
font-size: 0% !important;
}
</style>
<script>
jQuery(document).ready(function($) {
$('select').blur( function(){
if( '' != $('input.variation_id').val() ){
$('p.price').html($('div.woocommerce-variation-price > span.price').html()).append('<p class="availability">'+$('div.woocommerce-variation-availability').html()+'</p>');
console.log($('input.variation_id').val());
} else {
$('p.price').html($('div.hidden-variable-price').html());
if($('p.availability'))
$('p.availability').remove();
console.log('NULL');
}
});
});
</script>
<?php
echo '<p class="prrice">'.$price.'</p>
<div class="hidden-variable-price" >'.$price.'</div>';
endif;
}
}
}
对于大多数产品来说效果都很好。但是,我添加了一个具有72种产品变体的产品(比其他产品大得多),现在,仅当我单击屏幕上的某个位置时,价格才会更新。你知道为什么会这样吗?难道真的是因为许多产品变型使它变慢了?
This is the link用于72种无法使用的产品。
This is a link以举例说明它可以在哪里工作。
非常感谢您