我已经阅读了有关钩子和动作的信息,并且我知道当我们看到do_action('some_hook')
它意味着主题的某个位置add_action('some_hook', function() {...});
或功能some_hook()
存在functions.php
。
但是,这是什么?:
从woocommerce / includes / class-wc-checkout.php第943行:
public function process_checkout() {
try {
/////////////
do_action( 'woocommerce_before_checkout_process' ); <----!!!
if ( WC()->cart->is_empty() ) {
throw new Exception( sprintf( __( 'Sorry, your session has expired. <a href="%s" class="wc-backward">Return to shop</a>', 'woocommerce' ), esc_url( wc_get_page_permalink( 'shop' ) ) ) );
}
do_action( 'woocommerce_checkout_process' ); <-----!!!
我无法找到woocommerce_checkout_process
并woocommerce_before_checkout_process
在文件中的任何地方!他们在做什么?
do_action
代码(除非您定义了自己的钩子,在这里不是这种情况)。你会用add_action()
。