Относится ли wp_mail к области плагинов?
Недавно я наткнулся на это и задумался, разрешено ли вызывать wp_mail()
в теме согласно стандартам WordPress. Уточню, что я не переопределяю её как pluggable-функцию в теме, а просто вызываю, если она существует.
Спрашиваю здесь, потому что искал информацию, но не нашёл чёткого ответа на этот вопрос.

WordPress предоставляет множество функций, которые вы можете использовать, включая функцию wp_mail()
. Эта функция предназначена не только для плагинов, ядро WordPress также часто её использует.
Если вам нужно изменить её поведение, используйте хуки фильтров и действий, которые есть в ядре, чтобы повлиять на работу функции. Например, для этой функции предусмотрен фильтр wp_mail
, см. здесь в исходном коде. Это возможность изменить поведение wp_mail()
.
Функция wp_mail()
также является заменяемой (pluggable), и её можно переопределить новой функцией с тем же именем. Все функции в файле wp-includes/pluggable.php
содержат проверку на существование функции. Это даёт разработчикам возможность заменить функцию с изменённой функциональностью.

Хотя wp_mail()
не является строго запрещённым в теме, его использование там, скорее всего, неуместно. Основная задача темы — это представление. Она не должна изменять существующие данные, и её всегда должно быть легко заменить.
Именно поэтому контактные формы, опросы, магазины, трекинг и подобный функционал относятся исключительно к плагинам. Нет никакого контекста для использования wp_mail()
в теме.

Интересно, поскольку этот автор WordPress, который кажется авторитетным, пишет обратное: https://code.tutsplus.com/tutorials/a-guide-to-overriding-parent-theme-functions-in-your-child-theme--cms-22623: "Подключаемые функции — это то, что вы кодируете в родительской теме, поэтому они не будут вам полезны, если вы работаете с существующей родительской темой, в которой их нет."
