我正在使用一个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().如果没有货币符号,您将获得基于销售的价格.
希望有所帮助.