css - Woocommerce 将特定的 add_action 放在特定的 div 中
问题描述
我试图了解 woocommerce webhook。
我在 content-single-product.php 内部工作
我有 2 个 div:
<div id="div_left"></div>
<div id="div_right"></div>
我现在有 do_action:
/**
* Hook: woocommerce_after_single_product_summary.
*
* @hooked woocommerce_output_product_data_tabs - 10
* @hooked woocommerce_upsell_display - 15
* @hooked woocommerce_output_related_products - 20
*/
do_action( 'woocommerce_after_single_product_summary' );
如您所见,网络挂钩包含多个操作。
我想要执行的是:
<div id="div_left">
woocommerce_output_product_data_tabs - 10
</div>
和
<div id="div_right">
woocommerce_upsell_display - 15
</div>
我如何插入这样的动作?
因为我现在正在尝试使用 remove_action 和 add_action,但是我要么将所有内容都放入钩子中,要么一无所获。
我只想将特定的钩子放在特定的地方。
提前致谢
解决方案
你好,你可以试试这个。
<div id="div_left">
<?php do_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 ); ?>
</div>
<div id="div_right">
<?php do_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 ); ?>
</div>
例如,do_action
就像Echo
在 PHP 中一样,并且会在您的情况下product_data_tabs
从after_single_product_summary
现场回显。
remove_action
此外,您可以在调用之前为某些元素编写do_action
; 例如:
<?php
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 ); ?>
<div id="div_left">
<?php do_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 ); ?>
</div>
<div id="div_right">
<?php do_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 ); ?>
</div>
你只需要在撕掉它之前删除它。