2 回答
在 templatecontent-single-product.php
中,让你 open 的唯一方法<div>
是模板本身,正如你之前想要的那样(第 39 行):
<div itemscope itemtype="<?php echo woocommerce_get_product_schema(); ?>" id="product-<?php the_ID(); ?>" <?php post_class(); ?>>
因为如果您使用woocommerce_before_single_product_summary
您的 open<div>
将在现有的之后<div itemscope itemtype="…">
而不是之前。
对于关闭,当您编辑模板时,最好的方法是将其添加到您的模板中(就像您制作它一样。
但它也应该woocommerce_after_single_product
与任何类型的优先级挂钩(因为没有任何东西已经挂钩);这种方式例如:
function single_product_closing_div(){
echo '</div>';
}
add_action( 'woocommerce_after_single_product', 'single_product_closing_div', 10, 0 );
结论:你做对了,直接在模板中。
你可以通过添加两个钩子来做到这一点,woocommerce_before_single_product_summary
所以woocommerce_after_single_product_summary
它们看起来像这样
add_action('woocommerce_before_single_product_summary','your_function_name',1); add_action('woocommerce_after_single_product_summary','another_function_name',99); 函数 your_function_name(){echo ""; } 功能另一个功能名称(){回声“”;}