Как разделить функции php плагина и темы в wordpress?
Если в теме и в плагине есть функция с одним и тем же названием то сайт не загружается, хотя может я чего то не знаю, решить можно если изменить название функции, но это плохое решение, есть еще оператор namespace, но пока я его не очень понимаю, есть еще способы? или надо разбираться с name space
В вашем случае используйте неймспейсы или добавляйте к именам функций в теме и плагине свои префиксы. Далее, в теме, делайте проверку подключен ли ваш плагин и какая версия. Если плагин подключен, то вызывайте функцию из него, если нет - из темы.
Если вам так не хочется это делать, то оберните свои функции в проверку ее наличия:
if ( ! function_exists('моя_супер_пупер_функция') ) {
function моя_супер_пупер_функция() {
...
}
}
Также плохим решением можно считать прописку своих функций в function.php вашей темы если она не дочерняя. В случае обновления все слетит. Припишите свои функции плагином, с префиксом его названия: Например Plugin Name: someone_plugin и функции function sp_function_1 и т.д. Тогда все будет намного стабильнее )
Я сторонник написания плагина - потому как при обновлении, все прописанное в шаблоне слетает, как правило. Ну если это не самописная тема, что сейчас пользователи создают крайне редко.