Как исправить «Ошибка синтаксического анализа: непредвиденная синтаксическая ошибка» в WordPress

Опубликовано: 2021-07-16

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

Что означает ошибка синтаксиса: ошибка синтаксиса, неожиданный конец в WordPress?

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

Ошибка состоит из двух частей:

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

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

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

Отсутствующий синтаксис может быть в коде, который вы написали или вставили на свой веб-сайт, или в теме или плагине, которые вы установили или обновили.

К счастью, это не так уж и сложно найти и исправить. Однако вам нужно будет понимать, как работает код и как его редактировать.

Как решить ошибку синтаксического анализа: неожиданный конец синтаксической ошибки в WordPress

Как решить ошибку синтаксического анализа

Фактическая ошибка синтаксиса синтаксической ошибки неожиданный конец в WordPress будет иметь другое окончание в зависимости от того, что вызывает ошибку.

Примеры включают:

  • 1) синтаксическая ошибка, неожиданный конец файла
  • 2) синтаксическая ошибка, неожиданный токен
  • 3) синтаксическая ошибка, непредвиденная переменная
  • 4) синтаксическая ошибка, неожиданный идентификатор

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

Тестирование синтаксической ошибки синтаксической ошибки: неожиданный конец в WordPress

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

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

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

К сожалению, WordPress не всегда дает четкое сообщение. Иногда нет сообщения, отсутствует контент или просто не отображается веб-сайт. Все это можно исправить, но для устранения неполадок может потребоваться немного больше времени.

Давайте посмотрим на несколько примеров. Начнем с чего-нибудь легкого.

Редактирование кода плагина

Редактирование кода плагина

Во-первых, начните с того, что вы делали в последний раз. В этом примере я отредактировал код в файле плагина. Файл вернулся к последнему известному исправному коду, поэтому мои изменения не работают. Посмотри на ошибку. Он сообщит вам, что вызывает код ошибки, и строку кода с ошибкой.

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

Это просто. Сначала посмотрите на строку над ним. Мы видим разрыв слова, заканчивающий регистр 4 . Нам повезло в том, что у нас есть и другие случаи для сравнения. Выше - регистр 3 , который также заканчивается разрывом , но в этом случае есть закрывающая точка с запятой.

Редактирование кода плагина

Затем отредактируйте код, вызвавший ошибку.

Редактирование кода плагина

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

Редактирование кода плагина

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

Редактирование кода плагина

Просто добавьте закрывающую скобку и обновите файл. Код теперь работает правильно.

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

Исправление ошибки синтаксического анализа, когда вы не можете найти ошибку

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

Режим отладки

Первый шаг - включить журнал ошибок WordPress. Перейдите в файл wp-config с помощью FTP или cPanel. Найдите строку кода, которая выглядит так:

define( 'WP_DEBUG', false );

Если у вас есть этот код, измените false на true.

Если у вас нет этой строки кода, найдите строку, в которой говорится:

«Прекратите редактировать! Удачного ведения блога ». и вставьте этот код:

define( 'WP_DEBUG', true );

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

Плагин отладки

Монитор запросов

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

Монитор запросов

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

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

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

В моем случае я вносил изменения в файл functions.php для темы Twenty Twenty One. Я допустил ошибку в синтаксисе, и мой сайт отключился. Все, что он показывает, это ошибка, которая не помогает.

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

Лучше всего использовать FTP или cPanel вашего хоста. В этом примере я буду использовать cPanel, но процесс тот же. Сначала откройте файловый менеджер в cPanel.

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

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

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

Перейдите в папку wp-content.

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

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

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

Выберите папку с темой или плагином. Выбираю папку для темы Twenty Twenty One.

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

Затем перейдите к файлу, который вы редактировали, когда возникла проблема. Я редактировал файл functions.php. Загрузите файл для работы в автономном режиме или отредактируйте файл. Я рекомендую скачать резервную копию перед внесением изменений.

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

Ваш редактор кода может предоставить информацию об ошибке. В моем случае это показывает, что он ожидает круглую скобку в строке 29. На самом деле в ней отсутствует скобка в строке 17, что заставляет редактор думать, что ему нужна скобка.

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

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

Исправление ошибки синтаксического анализа, если вы заблокированы в WordPress

Мой веб-сайт теперь работает в обычном режиме.

Восстановление предыдущего файла

Восстановление предыдущего файла

Если вы не уверены, что изменилось в коде, и хотите восстановить предыдущий файл, который, как вы знаете, работает, перейдите к файлу на FTP или cPanel.

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

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

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

Загрузите чистую копию WordPress

Загрузите чистую копию WordPress

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

Загрузите чистую копию WordPress

Затем удалите папку wp-content и файл с именем wp-config-sample.php.

Загрузите чистую копию WordPress

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

Завершение мыслей о синтаксической ошибке синтаксической ошибки Неожиданный конец в WordPress

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

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

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

Ждем вашего ответа. Были ли у вас неожиданный конец синтаксической ошибки синтаксической ошибки в WordPress? Сообщите нам, как вы это исправили, в комментариях ниже.

Лучшее изображение через alexdndz / shutterstock.com