Отладка, диагностика и устранение проблем

Обзор

При настройке темы с помощью функций ACF могут возникнуть различные проблемы. Это может быть пустая или сломанная страница, незагруженное значение или видимое сообщение об ошибке. Хотя поначалу такие ситуации вызывают раздражение, на самом деле они предоставляют полезную информацию и обычно быстро устраняются. Процесс поиска и устранения этих проблем, то есть ошибок, называется отладкой.

Вывод ошибок

Первый шаг при диагностике любой проблемы, связанной с кодом, — включить вывод ошибок. Это поможет избежать слишком распространённой ситуации: «Я не получаю сообщения об ошибке».

Чтобы включить вывод ошибок, откройте файл wp-config.php и найдите следующий код:

wp-config.php

/**
 * Для разработчиков: режим отладки WordPress.
 *
 * Измените это значение на true, чтобы включить отображение уведомлений во время разработки.
 * Разработчикам плагинов и тем настоятельно рекомендуется использовать WP_DEBUG
 * в средах разработки.
 */
define('WP_DEBUG', false);

По умолчанию параметр WP_DEBUG отключён, но для вывода потенциальных ошибок PHP его необходимо включить. Для этого установите значение true:

define('WP_DEBUG', true);

После включения вывода ошибок обновите страницу, на которой возникла проблема, и найдите ошибки PHP. Каждая ошибка PHP содержит тип ошибки, файл, вызвавший ошибку, и номер строки, в которой она произошла. Если вы видите ошибки PHP, используйте эту информацию для их устранения.

Возможно, ошибка указывает на строку кода в шаблоне. Или же какой-то фрагмент кода просто не выполняет нужную задачу, например не выводит изображение. Теперь, когда вы понимаете, откуда может исходить проблема, пора отладить данные.

Отладка данных

Вероятно, проблема связана со строкой кода, которая взаимодействует с данными ACF. В таком случае важно убедиться, что используемые данные соответствуют ожиданиям. Для этого можно воспользоваться функцией var_dump().

var_dump() — встроенная функция PHP, отображающая структурированную, удобную для чтения информацию об одной или нескольких переменных. Она особенно полезна при работе с массивами и объектами, поскольку рекурсивно отображает их структуру и позволяет получить максимально полное представление о происходящем. Вот пример использования var_dump():

<?php 

$image = get_field('image');

echo '<pre>';
    var_dump( $image );
echo '</pre>';

?>

Обратите внимание, что в приведённом выше коде также используется тег pre, который корректно отображает переносы строк и представляет массив или объект в более удобном для чтения формате.

Теперь, когда вы видите данные, с которыми взаимодействует ваша тема, вы можете обнаружить источник проблемы. Например, вы ожидали, что значение $image будет строкой, содержащей URL, но при проверке оказалось, что это массив с большим количеством данных.

Проблемы JavaScript

Плагин ACF активно использует JS для добавления интерактивности элементам форм. Например, нажатие кнопки «Выбрать изображение» в поле изображения открывает всплывающее окно. Если элемент не реагирует на действия, скорее всего, на странице есть ошибка JS, которая не позволяет JS ACF запуститься.

Отладить JS довольно просто. Откройте журнал консоли с помощью инструмента инспектора браузера и перезагрузите страницу. Открыв журнал консоли, найдите ошибки, которые появляются при загрузке страницы или взаимодействии с проблемным элементом. Если ошибка обнаружена, это очень полезная информация, которую следует включить в обращение в службу поддержки.

Возможно, ошибка JS указывает на «строку 1» минифицированного файла JS. Гораздо полезнее получить строку ошибки в неминифицированном файле JS. Для этого добавьте следующий код в файл wp-config.php:

define('SCRIPT_DEBUG', true);

Эта строка кода сообщит WP, что нужно загружать полные версии каждого скрипта JS, благодаря чему сообщения об ошибках JS будут более подробными.

Устранение проблемы

Теперь, когда вы видите данные, изучите код, который с ними взаимодействует. Если решение не очевидно, потратьте несколько минут на поиск информации о проблеме: изучите тип переменной (массив, объект и т. д.), используемые функции и возникшую проблему. Решение также можно найти на странице часто задаваемых вопросов или на странице поддержки.

Если найти решение не удалось, обратитесь в нашу службу поддержки через службу поддержки на странице поддержки. Обязательно укажите всю собранную информацию об отладке — это значительно сократит время ответа!

Обновлено: 30.09.2026