как правильно вызывать функции? можно так
woocommerce_template_single_add_to_cart();
или только так
do_action( 'woocommerce_template_single_add_to_cart()' );
или через do_action вызываются только хуки, а функции без?
Это дает гибкость. Дает возможность из плагинов и дочерних тем добавлять на do_action() разных функций без редактирования родительской темы или другого плагина.
imaniman, немножко не так.
Например гдето в футере в шаблоне вы создаете кручок
do_action( 'this_is_place_for_list_function' )
Эта штука ничего не делает, она создает хук.
А потом в функциях вы пишете
add_action( 'this_is_place_for_list_function', ' wp_list_categories( $args_cat_list ) ')
и тогда у вас в футере в этом месте выведется список категорий