Ошибка Parse error: syntax error, unexpected T_STRING является одной из наиболее распространенных ошибок PHP, с которой сталкиваются владельцы сайтов на WordPress после редактирования файлов темы, плагинов или функций сайта. После появления этой ошибки сайт может полностью перестать открываться, а вместо страниц будет отображаться сообщение с указанием файла и номера строки. В большинстве случаев проблема возникает из-за обычной синтаксической ошибки в PHP-коде. Хорошая новость заключается в том, что исправить ее можно достаточно быстро, если понимать, как работает интерпретатор PHP и что означает сообщение об ошибке.

Что означает ошибка Unexpected T_STRING

PHP разбирает исходный код на специальные элементы — токены. Токен T_STRING представляет собой строковый идентификатор, например имя функции, класса, метода или текст без кавычек. Если интерпретатор сообщает:
Parse error: syntax error, unexpected T_STRING
значит PHP встретил строку или идентификатор там, где ожидал совершенно другой элемент языка.

Типичный пример ошибки

<?php

echo "Добро пожаловать"

echo "WordPress";
Результат:
Parse error: syntax error, unexpected T_STRING
Причина проста — отсутствует точка с запятой. Правильный вариант:
<?php

echo "Добро пожаловать";
echo "WordPress";

Как выглядит сообщение об ошибке

Parse error: syntax error, unexpected T_STRING in
/home/site/public_html/wp-content/themes/mytheme/functions.php on line 127
Сообщение содержит три важных элемента:
  • тип ошибки;
  • путь к проблемному файлу;
  • номер строки.
Именно с указанной строки необходимо начинать поиск проблемы.

Основные причины возникновения

1. Отсутствует точка с запятой

Самая распространенная причина. Неверно:
$title = "Новости"
echo $title;
Правильно:
$title = "Новости";
echo $title;

2. Пропущены кавычки

Неверно:
echo Добро пожаловать;
Правильно:
echo "Добро пожаловать";

3. Лишняя кавычка

Неверно:
echo "Hello"";
Правильно:
echo "Hello";

4. Незакрытая строка

Ошибка:
echo "Добро пожаловать;
Исправление:
echo "Добро пожаловать";

5. Пропущена запятая

Неверно:
my_function(
    $name
    $email
);
Правильно:
my_function(
    $name,
    $email
);

6. Ошибка при объявлении массива

Неверно:
$colors = [
    "red"
    "green",
    "blue"
];
Правильно:
$colors = [
    "red",
    "green",
    "blue"
];

7. Ошибка после копирования кода

Иногда при копировании из интернета появляются скрытые символы или «умные» кавычки. Неверно:
echo “WordPress”;
Правильно:
echo "WordPress";

Где чаще всего появляется ошибка в WordPress

  • functions.php
  • wp-config.php
  • header.php
  • footer.php
  • single.php
  • page.php
  • custom plugin
  • mu-plugins
  • файлы дочерней темы

Как найти проблемную строку

Допустим, отображается сообщение:
Parse error:
unexpected T_STRING in
functions.php on line 84
Не всегда ошибка находится именно на строке 84. Иногда настоящая причина располагается на несколько строк выше. Поэтому рекомендуется проверить диапазон примерно от 70 до 84 строки.

Использование логов WordPress

Включите режим отладки.
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
После этого ошибки будут записываться в файл:
/wp-content/debug.log

Проверка PHP-кода перед загрузкой

Если есть SSH-доступ, выполните:
php -l functions.php
Пример результата:
No syntax errors detected
или
Parse error:
unexpected T_STRING on line 112

Ошибка после обновления PHP

Иногда сайт работал на PHP 5.6, а после перехода на PHP 8.1 появляются ошибки синтаксиса. Например, устаревшие конструкции или несовместимые плагины начинают генерировать ошибки разбора. В этом случае необходимо:
  • обновить тему;
  • обновить плагины;
  • проверить собственные доработки;
  • использовать совместимый синтаксис PHP.

Ошибка после редактирования functions.php

Очень часто проблема появляется после добавления нового фрагмента кода. Например:
add_action('init', function() {

echo "Hello";

Функция не закрыта. Правильно:
add_action('init', function() {

    echo "Hello";

});

Как восстановить сайт

  1. Подключитесь через FTP.
  2. Откройте файл, указанный в сообщении об ошибке.
  3. Перейдите к нужной строке.
  4. Исправьте синтаксис.
  5. Сохраните файл.
  6. Очистите кэш.
  7. Обновите страницу.

Если неизвестно, где находится ошибка

Можно временно заменить измененный файл резервной копией. Например:
functions.php
↓
functions_old.php
Затем загрузить рабочую версию.

Использование редакторов с подсветкой ошибок

Современные редакторы позволяют обнаружить синтаксические ошибки еще до сохранения файла:
  • Visual Studio Code
  • PHPStorm
  • Sublime Text
  • Notepad++
Они автоматически подсвечивают:
  • незакрытые скобки;
  • непарные кавычки;
  • отсутствующие точки с запятой;
  • неверные конструкции PHP.

Полезные рекомендации

  • Перед редактированием создавайте резервную копию файлов.
  • Используйте дочернюю тему для внесения изменений.
  • Редактируйте PHP-код в специализированном редакторе.
  • После каждого изменения проверяйте работоспособность сайта.
  • Не копируйте код из текстовых редакторов, заменяющих обычные кавычки на типографские.
  • Перед загрузкой файлов проверяйте синтаксис командой php -l.
  • Регулярно обновляйте WordPress, темы и плагины.

Часто задаваемые вопросы

Можно ли исправить ошибку без переустановки WordPress?

Да. Ошибка связана исключительно с синтаксисом PHP и не требует переустановки CMS.

Почему ошибка появилась после установки плагина?

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

Может ли ошибка появиться после обновления PHP?

Да. Новые версии PHP строже проверяют синтаксис и могут обнаружить ошибки, которые ранее игнорировались.

Что делать, если административная панель не открывается?

Используйте FTP, SSH или файловый менеджер хостинга для исправления проблемного файла. Ошибка Unexpected T_STRING практически всегда указывает на синтаксическую проблему в PHP-коде. Чаще всего причиной становятся пропущенная точка с запятой, незакрытые кавычки, отсутствующие запятые или ошибки при копировании кода. Использование современных редакторов, режима отладки WordPress, проверки файлов командой php -l и регулярное создание резервных копий позволит быстро находить и устранять подобные ошибки, минимизируя время простоя сайта.

Метки: ,