Якщо ви адмініструєте сайт на WordPress і раптом побачили білий екран з таким повідомленням: Fatal error: Uncaught Error: Call to undefined function ... in /wp-content/themes/your-theme/functions.php on line 23 – не панікуйте. Це поширена помилка, яку зазвичай легко виправити. У цій статті ми розберемо, що її спричиняє, як її діагностувати та вирішити крок за кроком.
Коротко: Ця помилка означає, що WordPress намагається викликати функцію, якої не існує. Часто це обумовлено відсутністю плагіна, помилкою в написанні коду або несумісністю певних компонентів веб-сайту. Щоб виправити, перевірте рядок у коді, де виникла помилка, і або приберіть виклик функції, або напишіть її, щоб вона стала доступною у вказаному контексті.
Що означає помилка Fatal error: Uncaught Error: Call to undefined function?
Ця помилка вказує на те, що ваш код WordPress намагається викликати функцію, якої не існує. У результаті цього PHP-інтерпретатор зупиняє виконання, і WordPress не може завантажитися.

Поширені причини помилки Fatal error: Uncaught Error: Call to undefined function?
1. Відсутні або неправильно завантажені плагіни або теми
Якщо ваш код залежить від плагіна або теми, що визначає певну функцію, і цей плагін/тема деактивовані, видалені або завантажені неправильно, функція не буде існувати при виклику.
2. Несумісність плагінів
Нещодавно встановлений плагін може бути несумісний з вашою версією WordPress або версією PHP. Якщо плагін використовує функцію, введену в новій версії PHP (наприклад, str_contains() в PHP 8.0), старі середовища видаватимуть фатальну помилку.
3. Неправильний користувацький код
Імена функцій у PHP не чутливі до регістру, але помилка в написанні може призвести до невизначеного виклику.
Наприклад:
add_action("init", "custm_function"); // Помилка в написанні, пропущено літеру: замість «custm_function» має бути «custom_function»
4. Пошкоджені файли ядра WordPress
Якщо ваша інсталяція WordPress пошкоджена або неповна, деякі вбудовані функції можуть бути відсутні. Коли основні файли (наприклад: wp-includes/functions.php) пошкоджені або відсутні, вбудовані функції WordPress можуть стати недоступними, навіть якщо вони зазвичай існують.
5. На сервері відключені деякі розширення
Відсутність або вимкнення обов’язкових PHP-розширень на сервері. Наприклад, mbstring. Це розширення необхідне для роботи з багатобайтовими рядками, що є критично важливим для коректної обробки текстових даних у багатьох плагінах і темах WordPress. PHP-функція mb_strlen() є частиною розширення mbstring. Якщо розширення не встановлене або не активоване на сервері, будь-яке звернення до відповідних функцій призведе до фатальної помилки з повідомленням про "Call to undefined function". Ця помилка зазвичай виникає після міграції сайту на новий хостинг або при зміні версії PHP без повторного ввімкнення розширень.
6. Вимкнені функції з міркувань безпеки
Інколи помилка виникає, коли код намагається викликати функцію, якої немає у середовищі виконання. Часто причина — ця функція навмисно вимкнена в конфігураційному файлі php.ini з міркувань безпеки. Наприклад, функції на кшталт exec(), shell_exec(), passthru() або system() часто блокуються на спільних хостингах.
Все ще бачите помилку? Дозвольте нам допомогти
Як виправити помилку Fatal error: Uncaught Error: Call to undefined function: покрокова інструкція
1. Не забудьте зробити резервну копію!
Перед тим, як проводити будь-яке налагодження або модифікації, обов’язково зробіть резервну копію всього вашого сайту WordPress (файли + база даних). Це гарантує, що ви зможете повернути все назад, якщо під час усунення несправностей щось піде не так.
2. Уважно прочитайте повідомлення про помилку
Подивіться на файл і номер рядка, де виникає помилка. Це підкаже вам, з чого почати:
Fatal error: Uncaught Error: Call to undefined function my_custom_function() in /wp-content/themes/your-theme/functions.php:45
Перейдіть до вказаного файлу і номера рядка. Перевірте, чи правильно написана функція і чи вона оголошена.

3. Тимчасово вимкніть плагіни, щоб перевірити наявність конфліктів
Часто помилка виникає після встановлення, або оновлення плагінів. Щоб перевірити наявність конфліктів, послідовно відключайте встановлені плагіни. Зробити це можна, або через адмінку, якщо до неї є доступ, або на хостингу через файловий менеджер, або ж FTP. Щоб зробити це перейдіть до папки plugins та послідовно перейменовуйте встановлені плагіни. Для цього достатньо наприклад, до назви плагіну додати префікс “old”, або будь який інший за бажанням.

4. Відновіть або переінсталюйте основні файли WordPress
Якщо ви підозрюєте, що основні файли WordPress пошкоджені, завантажте WordPress заново і перезавантажте все, крім wp-content і wp-config.php. Або скористайтеся вбудованою опцією відновлення в панелі управління WordPress.

5. Перевірте версію PHP та розширення
Переконайтеся, що ваше хостингове середовище відповідає вимогам. Деякі функції вимагають певних версій PHP. Переконайтеся, що ви використовуєте сумісну версію:
- Увійдіть у свою панель управління хостингом або скористайтеся phpinfo();
- За необхідності оновлюйте до PHP 8.0+;
- Переконайтеся, що необхідні розширення (наприклад, mbstring) увімкнені. Створіть файл phpinfo.php
і відкрийте його в браузері. Перевірте наявність секції mbstring зі вмістом:
Увімкніть розширення, якщо ви маєте доступ до конфігурації сервера (наприклад, через php.ini або панель керування), переконайтесь, що рядок:<?php phpinfo(); ?>
extension=mbstring
не закоментовано. Якщо ви не маєте адміністративного доступу, зверніться до служби підтримки хостингу з проханням увімкнути PHP-розширення mbstring.
6. Перевірте список вимкнених функцій
Щоб перевірити список заборонених функцій у вашому середовищі PHP, створіть файл info.php із наступни вмістом
<?php phpinfo(); ?>
Завантажте його на сервер і відкрийте у браузері. Знайдіть розділ disable_functions — він містить список усіх вимкнених функцій.
Висновок
Помилка «Fatal error: Uncaught Error: Call to undefined function» в WordPress спочатку може здатися складною, але зазвичай її легко виправити, якщо зрозуміти, що її спричиняє. Завжди починайте з прочитання повідомлення про помилку, перевірки того, чи функція визначена та завантажена правильно, а також використання правильних версій WordPress та PHP. Якщо помилка виявляється складнішою, ніж описані тут способи виправлення, найкраще звернутися до наших досвідчених фахівців WordPress, щоб вирішити її безпечно та ефективно.
