Отладка WordPress: руководство «Все, что вам нужно знать»

Опубликовано: 2023-06-27

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

Фактически, WordPress включает собственный режим отладки, который может помочь вам при работе с платформой. Если вы объедините это с отладчиком вне платформы, у вас будет надежная система для обнаружения всего, что скрывается в темноте.

В этом посте мы рассмотрим 🔎 отладку WordPress и покажем, как ее настроить. Однако сначала мы рассмотрим, чем отличаются отладка WordPress и другие типы отлова ошибок. Оттуда мы объясним, почему WordPress нужна собственная система отладки, прежде чем показать вам, как ее использовать.

Разница между отладкой WordPress и общей отладкой кода

Конечно, WordPress использует PHP для запуска почти всего под капотом, как и многие другие веб-приложения. Однако отладка WordPress может отличаться от обычной отладки кода из-за своей специфической структуры и экосистемы.

Основное различие между отладкой WordPress и общей отладкой кода заключается в том, как вы будете просматривать ошибки. WordPress будет отображать сообщения об ошибках, связанных с платформой, на внешнем интерфейсе. Напротив, общая отладка кода часто выполняется в Терминале или в специальном редакторе кода:

Intellij IDEA IDE с отладчиком.

Еще одним отличием является использование специфичных для WordPress функций, помогающих в процессе отладки. WordPress предоставляет собственный набор функций, которые вы будете использовать для взаимодействия с системой управления контентом (CMS). Они отличаются от типичных функций PHP и потребуют от вас особого подхода к их использованию для отладки.

В целом, разница между отладкой WordPress и общей отладкой кода заключается в специфической структуре и экосистеме WordPress. Таким образом, вам необходимо понимать архитектуру WordPress, а также то, что платформа предлагает для эффективного устранения проблем.

Почему отладка WordPress требует определенного процесса

WordPress использует не только свой основной PHP. Он также запускает внешний PHP в виде тем и плагинов. Если вы объедините стороннюю разработку с тем, как все это связывается вместе, это может привести к ошибкам, когда вы объедините весь код вместе. Таким образом, WordPress предлагает свои собственные инструменты отладки, которые помогают устранить эти проблемы во время разработки.

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

Обзор иерархии шаблонов WordPress.
Изображение предоставлено: WordPress.org

Кроме того, дизайн WordPress основан на хорошем пользовательском опыте (UX). Специализированный процесс отладки WordPress учитывает потребность в удобных для пользователя отчетах об ошибках. Вместо того, чтобы использовать сложные трассировки стека в редакторе кода, WordPress вместо этого отображает четкое сообщение об ошибке во внешнем интерфейсе:

Ошибка WordPress во внешнем интерфейсе сайта.

Говоря о UX, WordPress предлагает набор настраиваемых функций, которые помогут сделать ваш рабочий процесс более эффективным и безопасным. В результате специальный процесс отладки WordPress означает, что вам необходимо понимать эти функции и то, как они взаимодействуют с платформой.

В целом, WordPress имеет сложную экосистему, ориентированную на UX и пользовательские функции. Все это требует собственного режима отладки. В следующем разделе мы рассмотрим, как это включить.

Как включить режим отладки WordPress (и что он делает)

Вы можете включить режим отладки WordPress через файл wp-config.php . У нас есть краткое руководство о том, как это сделать, и это не займет у вас больше минуты или около того. Тем не менее, есть несколько разных режимов, о которых вам нужно знать и которые вы можете использовать:

  • WP_DEBUG . Это основной режим отладки в WordPress. Это позволяет выполнять общую отладку внутри платформы.
  • WP_DEBUG_LOG . В этом режиме все ошибки, предупреждения и уведомления PHP сохраняются в файле debug.log в каталоге wp-content . Это полезно для выявления труднодоступных проблем, которые не отображаются во внешнем интерфейсе.
  • WP_DEBUG_DISPLAY . В этом режиме отображаются все ошибки PHP, предупреждения и уведомления во внешнем интерфейсе. Это полезно для выявления проблем с темами и плагинами, но также может отображать сообщения для элементов, которые не кажутся сломанными. Например, вы часто будете видеть уведомления о неправильных соглашениях о проверке данных.

Эти три функции могут переплетаться, поэтому вам нужно позаботиться о том, чтобы использовать их оптимальным и безопасным способом. Например, вам часто нужно включать WP_DEBUG и WP_DEBUG_LOG для сохранения любых ошибок в файле debug.log . Однако, если вы не отключите WP_DEBUG_DISPLAY , отображение этих ошибок во внешнем интерфейсе будет плохо для UX.

Вы также можете выйти за рамки команд хлеба с маслом и активировать некоторые другие константы, которые мы рассмотрим в другой статье:

  • SCRIPT_DEBUG . Из соображений производительности WordPress использует минимизированные файлы CSS и JavaScript, но их отладка может стать кошмаром. Как только вы включите SCRIPT_DEBUG , WordPress вместо этого будет использовать неоптимизированные версии файлов для разработки.
  • SAVEQUERIES . Это сохраняет все запросы к базе данных в массиве, что может помочь вам определить медленные или неэффективные запросы, влияющие на производительность вашего сайта.

WordPress не был бы такой платформой без своих плагинов. Таким образом, существует множество полезных плагинов для помощи в отладке WordPress. Далее мы рассмотрим некоторые.

Использование плагинов отладки WordPress во время разработки

Плагины должны быть частью вашего арсенала, чтобы помочь расследовать ошибки. Фактически, официальная документация WordPress по отладке включает некоторые рекомендуемые параметры.

Например, Query Monitor предоставит вам подробную информацию о выполняемых вами запросах. Это отличный способ помочь определить запросы, вызывающие проблемы с производительностью.

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

Поскольку WordPress использует множество пользовательских функций и констант, вы, вероятно, захотите следить за тем, не устарели ли они. Плагин Log Deprecated Notices идентифицирует (и регистрирует) любое использование устаревших функций, хуков или аргументов в WordPress. Вы будете использовать плагин, чтобы поддерживать свой код в актуальном состоянии в соответствии с последними стандартами WordPress.

Однако есть много других плагинов, которые вы можете установить, чтобы облегчить отладку WordPress. Один из фантастических вариантов — это Simply Show Hooks:

Этот плагин позволяет вам просматривать каждый хук, выполняемый страницей. Часто это будет плагин для перехода, потому что вы можете сразу увидеть, какие хуки WordPress использует страница, что сократит ваш первоначальный поиск ошибки.

Если вы хотите найти плагин, который является более универсальным решением, DebugPress может быть хорошим выбором:

Этот плагин предоставляет вам отладочную информацию в режиме реального времени, включая ошибки PHP, запросы к базе данных и HTTP-запросы. Он также включает консоль реального времени для мониторинга ошибок на стороне сервера.

Возможно, вы захотите полуавтоматизировать начальный запуск режима отладки WordPress. Именно для этого предназначен отличный плагин WP Debugging.

Он позволяет установить состояния по умолчанию для всех доступных констант отладки без необходимости открывать файл wp-config.php . Вы будете переключать их с помощью быстрой активации и деактивации в меню плагинов WordPress.

Выбор плагинов для отладки WordPress

Когда дело доходит до выбора плагинов для отладки WordPress, показатели качества плагинов, такие как время последнего обновления, не так важны. Это связано с тем, что они часто выполняют задачи, не требующие постоянной текущей кодовой базы.

Например, последнее обновление журнала устаревших уведомлений было выпущено в 2021 году. Однако, несмотря на это, это по-прежнему рекомендуемый плагин для разработчиков WordPress. Таким образом, мы утверждаем, что если плагин работает так, как задумано, и не создает дополнительных проблем, вы можете использовать его для целей отладки.

Преимущества мониторинга производительности приложений (APM)

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

Может показаться, что инструменты APM и отладка не имеют много общего. Тем не менее, это может помочь вам уменьшить объем работ по отладке, в зависимости от сценария. Более того, вы можете сначала выполнить отладку, а затем поддерживать производительность с помощью APM.

Когда дело доходит до отладки WordPress, инструменты APM имеют ряд преимуществ:

  • Вы можете определить узкие места производительности на своем веб-сайте WordPress. Анализ в режиме реального времени означает, что вы можете выявить любые проблемы, которые могут замедлять работу вашего сайта.
  • Инструменты APM могут помочь оптимизировать производительность вашего сайта. Это позволяет вносить целенаправленные улучшения и повышать производительность в целом.
  • Отслеживая ключевые показатели производительности, вы можете выявить любые проблемы, которые могут повлиять на работоспособность вашего веб-сайта.
  • Инструменты APM также могут помочь выявить проблемы безопасности на вашем веб-сайте WordPress. Отслеживая трафик и активность сайта, вы можете обнаружить любое необычное или подозрительное поведение, которое может свидетельствовать о проблеме с безопасностью.

Есть несколько доступных инструментов APM, которые хорошо подходят для WordPress. Например, у Kinsta есть собственный инструмент APM, а WP Engine интегрирует APM New Relic в свои сервисы.

В целом, инструменты APM могут помочь улучшить UX вашего веб-сайта WordPress и повлиять на вашу работу по отладке. Хотя это и не замена, APM может помочь вам определить, являются ли исправления ошибок оптимальными, и где вы можете улучшить свой код.

Советы, которые помогут вам в отладке WordPress

В этом посте мы сосредоточимся на отладке WordPress. Имея это в виду, мы предлагаем шесть советов, которые помогут вам лучше провести сеанс отладки.

  1. Начните со статического анализа кода
  2. Положитесь на свои инструменты отладки
  3. Классифицируйте каждую ошибку, с которой вы сталкиваетесь
  4. Вернитесь назад и выполните бинарный поиск, чтобы найти все возможные ошибки
  5. Запускайте отладчик после каждого нового набора кода
  6. Старайтесь решать проблемы, а не исправлять ошибки

1. Начните со статического анализа кода

Статический анализ кода — это когда вы анализируете код, не запуская его. Ваша цель — выявить потенциальные ошибки и уязвимости. Вы можете сделать это с помощью построчного сканирования, хотя инструмент будет более эффективным. PHP CodeSniffer или PHP Mess Detector хорошо работают здесь, причем первый также является частью инструментов редактирования JetBrains.

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

Начав со статического анализа кода, вы сможете пресечь потенциальные проблемы в зародыше в самом начале процесса разработки. Это может помочь убедиться, что ваш веб-сайт WordPress работает хорошо, прежде чем какие-либо проблемы станут более сложными и трудоемкими для устранения.

2. Положитесь на свои инструменты отладки

Говоря об инструментах отладки, они необходимы независимо от вашего языка или платформы CMS. Это особенно верно для WordPress, так как есть целый ряд превосходных плагинов, которые помогут вам. Однако сторонние, внеплатформенные инструменты также будут полезны.

В большинстве случаев инструменты отладки дадут вам более глубокое понимание вашего сайта. Это позволит вам принимать более обоснованные решения, когда речь идет об оптимизации производительности, улучшении UX и повышении безопасности.

3. Классифицируйте каждую обнаруженную ошибку

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

Здесь вам нужно учитывать несколько факторов, таких как серьезность проблемы, влияние на UX и сложность исправления. Например, вы можете использовать систему уровней серьезности, таких как критический, значительный, незначительный или косметический. Это может помочь расставить приоритеты, какие ошибки следует устранять в первую очередь, исходя из их влияния на функциональность веб-сайта и UX.

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

Более того, вам не нужна специальная система для их хранения — электронная таблица прекрасно работает. У вас может быть даже система в вашем редакторе кода или интегрированной среде разработки (IDE), такая как цветовое кодирование.

4. Вернитесь назад и выполните бинарный поиск, чтобы найти все возможные ошибки

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

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

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

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

5. Запускайте отладчик после каждого нового набора кода

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

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

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

6. Старайтесь решать проблемы, а не исправлять ошибки

Когда дело доходит до отладки WordPress, может быть полезно сместить акцент с простого «устранения ошибок» на решение проблем. Это означает более активный подход к выявлению и устранению проблем, а не простое реагирование на ошибки по мере их возникновения.

Для начала найдите основную причину проблемы, а затем работайте над ее устранением, а не просто устраняйте непосредственные симптомы проблемы. Это может включать в себя переработку определенных разделов кодовой базы или внедрение новых методов разработки, чтобы предотвратить возникновение подобных проблем в будущем.

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

Перейти к началу

Вывод 🧐

Короче говоря, отладка WordPress будет использовать платформу для сообщения об ошибках кода, влияющих на ее работу. Кроме того, в большинстве случаев вы будете использовать некоторые специальные плагины, чтобы предупредить вас о проблемах. На самом деле, параметры, которые вы получаете для отладки WordPress, могут работать бок о бок с вашими типичными инструментами отладки, такими как Xdebug.

Хорошей новостью является то, что у вас нет неуклюжего процесса интеграции, когда дело доходит до WordPress. Вы можете работать с файлом wp-config.php и включать отладчик (и журнал), используя логические значения. Это покажет любую связанную ошибку вместе с более подробной информацией, чем вы часто получаете. Оттуда вы можете работать над исправлением ошибок и приближать свой сайт к завершению.

У вас есть вопросы об отладке WordPress или о каких-либо сценариях, с которыми вы сталкивались? Дайте нам знать в комментариях ниже!