
Второй параметр add_action() на самом деле является именем вызываемой функции.
подобно
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
также можно назвать echo woocommerce_template_single_title()
Если вы напишете do_action('woocommerce_single_product_summary'), вы получите все функции, связанные с этим действием.
вот так
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 );
Будут все звонить по письму do_action( 'woocommerce_single_product_summary' );
В конечном счете, действия — это просто вызываемые объекты, и их можно вызывать несколькими способами. Чтобы узнать, где вызывается действие, получите трассировку стека и распечатайте ее где-нибудь. Что-то типа
function my_the_content_filter($content) {
return '<pre>' . print_r(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS),true) . '</pre>' . $content;
}
add_filter( 'the_content', 'my_the_content_filter' );
За исключением вашего случая, вызов обратной трассировки перешел бы в измененную копию плагина и в его код для существующего действия, о котором вы хотите узнать больше. Кроме того, в зависимости от вашей ситуации, вам может потребоваться распечатать в файл или использовать журнал отладки WordPress вместо добавления содержимого страницы.