我正在使用woocommerce产品插件插件,我想在插件的下拉部分中显示产品价格。目前我拥有的代码是这个
<?php
$loop = 0;
$current_value = isset( $_POST['addon-' . sanitize_title( $addon['field-name'] ) ] ) ? wc_clean( $_POST[ 'addon-' . sanitize_title( $addon['field-name'] ) ] ) : '';
global $product;
?>
<p class="form-row form-row-wide addon-wrap-<?php echo sanitize_title( $addon['field-name'] ); ?>">
<select class="addon addon-select" name="addon-<?php echo sanitize_title( $addon['field-name'] ); ?>">
<?php if ( ! isset( $addon['required'] ) ) : ?>
<option value=""><?php _e('None', 'woocommerce-product-addons'); ?></option>
<?php else : ?>
<!--<option value=""><?php _e('Select an option...', 'woocommerce-product-addons'); ?></option>-->
<?php endif; ?>
<?php foreach ( $addon['options'] as $i => $option ) :
$loop ++;
$price = apply_filters( 'woocommerce_product_addons_option_price',
$option['price'] > 0 ? ' + ' . wc_price( get_product_addon_price_for_display( $option['price'] ) ) . '' : '',
$option,
$i,
'select'
);
?>
<option data-raw-price="<?php echo esc_attr( $option['price'] ); ?>" data-price="<?php echo get_product_addon_price_for_display( $option['price'] ); ?>" value="<?php echo sanitize_title( $option['label'] ) . '-' . $loop; ?>" <?php selected( $current_value, sanitize_title( $option['label'] ) . '-' . $loop ); ?>><?php echo wptexturize( $option['label'] . ' (' ); echo balanceTags($product->get_price_html()) . $price ?>)</option>
<?php endforeach; ?>
</select>
</p>
我正在使用此回声
$product->get_price_html()
虽然这样做是显示$“ sale price” $“ price”,但我只想显示销售价格,或者如果没有销售价格,则仅显示产品价格。看下面的代码,我该怎么做?
很简单 我们将编写一个自定义函数,该函数将首先确定该产品是否在销售中。然后,它将根据之前定义的销售条件返回常规价格或销售价格。因此,该函数将是:
/**
* Returns product price based on sales.
*
* @return string
*/
function the_dramatist_price_show() {
global $product;
if( $product->is_on_sale() ) {
return $product->get_sale_price();
}
return $product->get_regular_price();
}
现在调用此函数,the_dramatist_price_show()
而不是$product->get_price_html()
。您将获得根据价格出售的价格或没有货币符号的价格。
希望能有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句