WordPress Unexpected T_STRING — как исправить ошибку синтаксиса PHP
03.07.202611 мин чтения23 просмотров
Ошибка 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 строки.
Иногда сайт работал на PHP 5.6, а после перехода на PHP 8.1 появляются ошибки синтаксиса.
Например, устаревшие конструкции или несовместимые плагины начинают генерировать ошибки разбора.
В этом случае необходимо:
Очень часто проблема появляется после добавления нового фрагмента кода.
Например:
add_action('init', function() {
echo "Hello";
Функция не закрыта.
Правильно:
add_action('init', function() {
echo "Hello";
});
Как восстановить сайт
Подключитесь через FTP.
Откройте файл, указанный в сообщении об ошибке.
Перейдите к нужной строке.
Исправьте синтаксис.
Сохраните файл.
Очистите кэш.
Обновите страницу.
Если неизвестно, где находится ошибка
Можно временно заменить измененный файл резервной копией.
Например:
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 и регулярное создание резервных копий позволит быстро находить и устранять подобные ошибки, минимизируя время простоя сайта.
На нашем сайте используются файлы cookie. Нажимая «Согласен», вы подтверждаете согласие на их использование в соответствии с
Политикой использования cookies.