使用产品插件选择框显示产品价格 WooCommerce

Posted

技术标签:

【中文标题】使用产品插件选择框显示产品价格 WooCommerce【英文标题】:Display Product Price WooCommerce with Product Addons Select Box 【发布时间】:2017-05-04 07:46:36 【问题描述】:

只是想知道是否有人可以在这里帮助我。 使用 Woocommerce Product Add-Ons 插件,有没有办法在下拉菜单中显示产品价格?那么如果我使用产品附加组件在产品上创建选择框选项,有没有办法在已显示的附加价格旁边的选择框中显示产品价格?

尝试了一切,但为此苦苦挣扎。这是我尝试编辑的 select.php 的代码。

    <?php
$loop = 0;
$current_value = isset( $_POST['addon-' . sanitize_title( $addon['field-name'] ) ] ) ? wc_clean( $_POST[ 'addon-' . sanitize_title( $addon['field-name'] ) ] ) : '';
?>
<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'] ) . $price ?></option>
        <?php endforeach; ?>

    </select>
</p>

所以我需要实现这段代码

<?php echo balanceTags($product->get_price_html()); ?>

在上面发布的代码中的某处。

谢谢!

【问题讨论】:

你能解释清楚吗 试图简化它,抱歉这个令人困惑的问题啊哈 你能分享一个链接吗? 网站目前处于离线状态,因为它正在开发中,因此没有共享链接:/ 简化了问题并获得了一些结果,只需要弄清楚在哪里输入 get_price_html()); ?> 【参考方案1】:

最后添加了

<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>

到替换选项部分的代码。 代码看起来没问题吗?有什么问题可以去那里吗?

【讨论】:

以上是关于使用产品插件选择框显示产品价格 WooCommerce的主要内容,如果未能解决你的问题,请参考以下文章

WPF中combobox显示多列的下拉框

使用 WooCommerce 选择变体时更新产品页面上的价格

隐藏产品可变价格,直到在 WooCommerce 中选择所有变体字段

用 WooCommerce 3 中选择的变化价格替换可变价格范围

SQL 嵌套连接显示每个产品的当前价格并使用 MAX()

在WooCommerce中取代可变产品定价