如何更改woocommerce商店页面的详细信息?

时间:2021-01-08 10:41:18

标签: wordpress woocommerce

我使用了一个片段来显示 woocommerce 商店页面中珠宝的重量。我已将代码片段插入到 function.php 文件中。但它显示下面的重量添加到购物车按钮。它必须显示在按钮上方。

这里是代码片段

add_action( 'woocommerce_after_shop_loop_item', 'bbloomer_show_product_dimensions_loop', 20 );

function bbloomer_show_product_dimensions_loop() {
global $product;
$dimensions = $product->get_dimensions();
if ( ! empty( $dimensions ) ) {
  echo '<div class="dimensions">';
  echo '<br><b>Weight:</b> ' . $product->get_weight() . get_option( 'woocommerce_weight_unit' );
  
  echo '</div>';        
}
} 

here is the sample output

重量必须打印在添加到购物车按钮上方,我必须在这里更改。

1 个答案:

答案 0 :(得分:1)

add_filter( 'woocommerce_loop_add_to_cart_link', 'bbloomer_show_product_dimensions_loop', 10, 2 );
function bbloomer_show_product_dimensions_loop( $html, $product ) {

    $weight = '';

    $dimensions = $product->get_dimensions();

    if ( ! empty( $dimensions ) ) {
        $weight .= '<div class="dimensions">';
        $weight .= '<br><b>Weight:</b> ' . $product->get_weight() .
            esc_html( get_option( 'woocommerce_weight_unit' ) );
        $weight .= '</div>';
    }

    return $weight . $html;
}

您必须使用过滤器标签 woocommerce_loop_add_to_cart_link 并像这样添加您的权重组件 HTML。由于它是过滤器钩子,因此无需回显输出,只需返回输出 HTML,标签 woocommerce_loop_add_to_cart_link 将处理它。

基于我自己的博客教程:How To Add Quantity Input In Shop Page

如果您想了解此过滤器 woocommerce_loop_add_to_cart_link 的内部工作原理,请访问 source code