我正在使用一个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()
这样做虽然是显示$“促销价”$“价格”但我只是想显示销售价格或只是产品价格,如果没有销售价格.看看下面的代码,我将如何实现这一目标?
很简单.我们将编写一个自定义功能,如果产品是否在售,将首先确定.然后它将根据之前定义的销售条件返回常规或销售价格.所以功能将是 –
/**
* 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().如果没有货币符号,您将获得基于销售的价格.
希望有所帮助.