我只是想向现有的Woocommerce钩子(在这种情况下为woocommerce_after_cart)添加一个动作。用add_action()
添加函数并加载页面备份后,我的函数无法运行。直到我手动do_action()
才可以运行我的功能。我只想知道为什么当我最初添加操作时,它未被确认。
我已经检查了Wordpress Codex的钩子,似乎我所做的一切都正确。我将动作添加到自定义主题中,而不是functions.php
,但我也尝试过。
整个事情看起来像这样:
function abc() {
print_r("hello world");
}
add_action('woocommerce_after_cart','abc');
仅在我致电do_action()
之后,为什么加载页面时就不会打印Hello world?
答案 0 :(得分:0)
为了使任何add_action()
工作,必须调用do_action()
。
在模板“ /cart/cart.php”中调用woocommerce_after_cart
操作
https://github.com/woocommerce/woocommerce/search?utf8=%E2%9C%93&q=woocommerce_after_cart
在您的主题或子主题中,您是否有文件“ /woocommerce/cart/cart.php”?
可能是WooCommerce购物车模板已被覆盖,并且该模板没有进行<?php do_action( 'woocommerce_after_cart' ); ?>
调用。
我已经测试了您的abc函数,并且可以在Woo和WP的即装即用版本中正常工作。
您需要将<?php do_action( 'woocommerce_after_cart' ); ?>
操作添加到cart.php模板文件。
希望这会有所帮助:)