Можем ли мы выполнить функцию add_action без хука do_action

пытаясь настроить плагин, я обнаружил функцию, выполняемую с помощью add_action(). однако я просмотрел этот плагин в поисках крючка do_action(). Я не мог найти его. так можно ли выполнить функцию в add_action() без хука?

Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
1
0
258
2

Ответы 2

Второй параметр 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 вместо добавления содержимого страницы.

Другие вопросы по теме