Крюки WordPress работают как Голливуд: вы их не называете, они вам звонят. Но в отличие от Голливуда, они продолжают называть всех в списке.
Это нормально для действия или фильтра, когда к нему подключены несколько функций из разных плагинов или даже просто разные функции в ядре WordPress, которые все делают что-то конкретное . Это не только возможно, но даже является хорошей практикой, поскольку это означает, что ваш код становится более четким (каждая функция выполняет только одно), и легче отключить один конкретный фрагмент функциональности, отсоединив его.
Помните, что вы также можете играть с приоритетами хуков: если вы хотите запускать оба functionA()и functionB()в after_setup_theme, но functionA()должны запускаться раньше functionB(), вы можете перехватывать functionA()с приоритетом по умолчанию 10и functionB()с приоритетом 20(или любым другим числом выше 10). То, что не сработает, это привязка другой функции к действию во время его выполнения . Таким образом , вы не можете подключить functionB()к after_setup_themeот functionA(), призвал after_setup_theme. Вы могли бы назвать это напрямую, но вы потеряли бы преимущество отдельных хуков.