我使用了一个片段来显示 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>';
}
}
重量必须打印在添加到购物车按钮上方,我必须在这里更改。
答案 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。