我正在使用 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” 但我只想显示销售价格,如果没有销售价格,我只想显示产品价格。查看下面的代码,我将如何完成此操作?
原文由 JPWeb 发布,翻译遵循 CC BY-SA 4.0 许可协议
很简单。我们将编写一个自定义函数,首先确定产品是否在销售。然后它将根据之前定义的销售条件返回正常或销售价格。所以函数将是:
现在调用这个函数
the_dramatist_price_show()
而不是$product->get_price_html()
。您将获得基于是否在销售或没有货币符号的价格。希望有帮助。