在里面woocommerce/templates/content-single-product.php
你可以看到woocommerce_show_product_images
优先权为20。
如果希望自定义函数在图像下方但在摘要上方渲染,则需要将优先级设置为大于20。我认为下面的代码应该可以做到这一点:
add_action(\'woocommerce_before_single_product_summary\', \'bbloomer_add_below_prod_gallery\', 30);
function bbloomer_add_below_prod_gallery() {
global $product;
echo \'<div class="text" style="border: thin solid black; clear: both;">\';
echo \'<p>Random text now</p>\';
echo \'</div>\';
}
UPDATE
默认woocommerce样式表
woocommerce-layout.scss 将库向左浮动,使其具有48%的宽度,如下所示:
.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
float: left;
width: 48%;
}
您可以将此样式添加到html中,但根据您使用的主题,它可能最终位于库的右侧(因为它是浮动的)。
因此,如果您想直接在gallery元素下面获取文本,最快的方法是重写product-image.php
模板并添加额外的挂钩。
// In your copy of product-image.php everything is the same except the new action hook.
...
<div class="...">
<figure class="woocommerce-product-gallery__wrapper">
<?php
// Stuff copied from original template.
...
do_action( \'woocommerce_product_thumbnails\' );
?>
</figure>
<!-- Create a new action hook before the final <div> -->
<?php do_action( \'bbloomer_after_single_product_gallery\' ); ?>
</div>
...
然后在你的主题中加入这个新动作。
add_action(\'bbloomer_after_single_product_gallery\', \'bbloomer_add_below_prod_gallery\', 30);
function bbloomer_add_below_prod_gallery() {
global $product;
echo \'<div class="text" style="border: thin solid black; clear: both;">\';
echo \'<p>Random text now</p>\';
echo \'</div>\';
}
或者直接在新模板中添加html,而不是添加挂钩。