WooCommerce商店价格状况

时间:2019-04-17 作者:João Teixeira

我将店面主题用于woocommerce,我想在商店页面中创建自定义布局。

这个自定义布局没有产品缩略图,标题和价格必须在同一个div中,这样我就可以轻松地用css对其进行自定义。

然而,当我试图在h2标签中获得价格时,它并没有达到我预期的结果。它出现在标题上方和自定义分区之外。我做错了什么?

参考图片image for reference

remove_action( \'woocommerce_shop_loop_item_title\', \'woocommerce_template_loop_product_title\', 10 );

add_filter( \'woocommerce_shop_loop_item_title\' , \'custom_woocommerce_template_loop_product_title\', 10);

function custom_woocommerce_template_loop_product_title () {
    echo \'
    <div class="custom-title-wrapper">
    <h1 class="woocommerce-loop-product__title custom-loop-product-title">\' . get_the_title() . \'</h1>
    <h2>\' . woocommerce_template_loop_price() . \'</h2>
    </div>\'
    ;
}

1 个回复
最合适的回答,由SO网友:user165319 整理而成

它出现在标题上方和自定义分区之外。我做错了什么?

这是因为woocommerce_template_loop_price() 回显输出。

所以要解决问题,只需使用?> HTML here <?php 而不是echo \'HTML here\';:

function custom_woocommerce_template_loop_product_title() {
    ?>
    <div class="custom-title-wrapper">
        <h1 class="woocommerce-loop-product__title custom-loop-product-title"><?php the_title(); ?></h1>
        <h2><?php woocommerce_template_loop_price(); ?></h2>
    </div>
    <?php
}
而且(虽然这不是一个大问题),您应该使用add_action() 而不是add_filter() 因为woocommerce_shop_loop_item_title 是操作而不是筛选器:

add_action( \'woocommerce_shop_loop_item_title\', \'custom_woocommerce_template_loop_product_title\', 10 );

相关推荐