If you are encountering a WordPress error message or white screen, don’t panic. Someone has likely encountered the same message before and it can easily be solved.
This page lists the most common WordPress errors experienced by WordPress users, and provides a starting point for fixing them. At WordPress Support, you will also find links to more detailed pages or forums where a volunteer will be there to help.
The White Screen of Death
Both PHP errors and database errors can manifest as a white screen, a blank screen with no information, commonly known in the WordPress community as the WordPress White Screen of Death (WSOD).
Before resorting to desperate measures, there are a number of reasons for the WordPress white screen of death:
- A Plugin is causing compatibility issues. If you can access the Administration Screens try deactivating all of your Plugins and then reactivating them one by one. If you are unable to access your Screens, log in to your website via FTP. Locate the folder
wp-content/plugins
and rename the Plugin folderplugins_old
. This will deactivate all of your Plugins. You can read more about manually deactivating your plugins in the Troubleshooting FAQ. - Your Theme may be causing the problem. This is especially likely if you are experiencing the white screen of death after you have just activated a new Theme, or created a New Site in a WordPress Network. Log in to the WordPress Administration Screens and activate a default WordPress Theme (e.g. Twenty Twenty-One). If you are using WordPress 5.8 and below, please switch to Twenty Twenty-One theme since the Twenty Twenty-Two theme requires 5.9 and above. If you can’t access your Administration Screens, access your website via FTP and navigate to the
/wp-content/themes/
folder. Rename the folder for the active Theme.
The WP_DEBUG feature often provides additional information.
Internal Server Error
There can be a number of reasons for an Internal Server Error. Here are some thing you can do to solve it:
- The most likely issue is a corrupted
.htaccess
file. Log in to your site root using FTP and rename your.htaccess
file to.htaccess_old
. Try loading your site to see if this has solved your problem. If it works, make sure to visit Settings > Permalinks and reset your permalinks. This will generate a new.htaccess
file for you. - Try deactivating all of your Plugins to see if it is a Plugin issue. If you are unable to access your WordPress Administration Screens, deactivate your Plugins via FTP by following these instructions.
- Switch the Theme to a WordPress default Theme (e.g. Twenty Twenty-One) to eliminate any Theme-related problems. If you are using WordPress 5.8 and below, please switch to Twenty Twenty-One theme since the Twenty Twenty-Two theme requires 5.9 and above.
- Increase the PHP Memory limit
- Try re-uploading the
wp-admin
andwp-includes
folders from a fresh install of WordPress.
Error Establishing Database Connection
If you get a page featuring the message “Error Establishing Database Connection,” this means that there is a problem with the connection to your database and there could be a number of reasons for this. The following are possible reasons and solutions.
Incorrect wp-config.php Information
“Error establishing a database connection” is usually caused by an error in your wp-config.php file. Access your site in your FTP client. Open up wp-config.php
and ensure that the following are correct:
- Database name
- Database username
- Database password
- Database host
Learn more about editing wp-config.php.
If you are sure your configuration is correct you could try resetting your MySQL password manually.
Problems with Your Web Host
The next step is to contact your web host. The following hosting issues may be causing the problem:
- Your database has met its quota and has been shut down.
- The server is down.
Contact your hosting provider to see if either of these issues is causing your problem.
Compromised Website
If you have checked wp-config.php
for errors, and confirmed with your host for hosting issues, it is possible that your site has been hacked.
Scan your site with Sucuri SiteCheck to ensure that it hasn’t been compromised. If it has you should check out My Site was Hacked.
Failed Auto-Upgrade
There will be situations when the WordPress auto-update feature fails. Symptoms include:
- A blank white screen and no information.
- A warning that the update failed.
- A PHP error message.
The WordPress automatic upgrade feature may fail due to a glitch in the connection with the main WordPress files, a problem with your Internet connection during upgrade, or incorrect File Permissions
To update your WordPress site manually, see the Manual Update article.
Connection Timed Out
The connection timed out error appears when your website is trying to do more than your server can manage. It is particularly common on shared hosting where your memory limit is restricted. Here are some things you can try:
- Deactivate all Plugins. If deactivating all the WordPress Plugins on your site resolves the issue, reactivate them one-by-one to see which plugin is causing the problem. If you are unable to access your Administration Screens, read about how to manually deactivate your plugins.
- Switch to a default WordPress Theme. If you are using WordPress 5.8 and below, please switch to Twenty Twenty-One theme since the Twenty Twenty-Two theme requires 5.9 and above. This should rule out any Theme-related problems.
- Increase your memory limit in wp-config.php. If you are on shared hosting you may have to ask your hosting provider to increase your memory limit for you.
- Increase the maximum execution time in your php.ini file. This is not a WordPress core file so if you are not sure how to edit it, contact your hosting provider to ask them to increase your maximum execution time. See below instructions for increasing maximum execution time.
Maintenance Mode Following Upgrade
When WordPress updates, it automatically installs a .maintenance
file. Following upgrade, you may receive a message that says “Briefly unavailable for scheduled maintenance. Please check back in a minute.” The maintenance file may not have been removed properly.
To remove this message do the following:
- Log in to your website using your FTP program
- Delete the
.maintenance
file, which will be found in your site root.
Read more about the maintenance mode issue.
You Make Changes and Nothing Happens
If you are making changes to your website and you do not see the changes in your browser, you may need to clear your browser cache. Your browser stores information about the websites that you visit. This makes it faster to load websites when you visit them because the browser just has to reload information already stored on your computer, rather than downloading it again.
If you make a change to a website and the browser does not think it is significant, it will simply load the data from your cache, and you won’t see your changes. To fix the problem, simply empty your browser cache or close the tab and reopen the link.
Pretty Permalinks 404 and Images not Working
If you are experiencing 404 errors with pretty permalinks and a white screen when you upload images, mod_rewrite may not be enabled in Apache by default. Mod_rewrite is an extension module of the Apache web server software which allows for “rewriting” of URLs on-the-fly. It’s what you need to make pretty permalinks work.
WordPress Multisite networks usually experience this but it can also occur on shared hosting providers or after a site migration or server move.
Reset your permalinks through Settings > Permalinks. If this does not work, you may have to edit the .htaccess
file manually.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
If you are not familiar with editing your .htaccess
file, contact your hosting provider to ask them to turn on mod_rewrite rules. There is more information on pretty permalinks in the WordPress Codex.
Custom Post Type 404 Errors
You may experience problems with 404 errors and custom post types. Try the following steps:
- Make sure that none of your Custom Post Types and single pages have the same name. If they do, rename the single page, including the slug.
- Log in to your WordPress Administration Screens, navigate to Settings > Permalinks. Select the default permalinks. Save. Then reselect your preferred permalinks. This will flush the rewrite rules and should solve your problem.
Specific Error Messages
There are a number of different errors that will appear in your error logs. To access your error logs you will need to turn on debugging and then locate your error log via FTP. The following information will help you to decipher some of the common error messages.
PHP Errors
Below are some common PHP error messages.
Fatal Errors and Warnings
If you receive a warning that WordPress cannot modify header information and headers are already sent, it usually means that you have spaces or characters before the opening tags or after the closing tags. Read how to fix the headers already sent error.
If you are experiencing this problem when you have just installed WordPress you may have introduced a syntax error into wp-config.php
. These instructions will help you to fix the error.
Call to undefined function
An error reading call to undefined function could mean that a WordPress Plugin is trying to find a file or data which isn’t present or accessible in the code. Reasons for this include:
- An error when trying to auto-install or auto-upgrade a Plugin. Try installing or upgrading the Plugin manually.
- An error when trying to auto-install or auto-upgrade a Theme. Try installing or upgrading the Theme manually.
- You may be using an incompatible WordPress Plugin or incompatible Theme. This could happen with older versions of WordPress and a new WordPress Plugin, or if you are trying to use a WordPress Multisite Plugin on a single site installation. Upgrade WordPress to resolve this issue.
- You may be trying to call a function that doesn’t exist. Check
functions.php
for misspellings.
Try deactivating the WordPress Plugin or changing the WordPress Theme that caused the error to appear. If you are unable to do this from within the Administration Screens, you may have to do this manually via FTP.
Allowed memory size exhausted
An Allowed Memory Size Exhausted error means that your WordPress installation doesn’t have enough memory to achieve what you want. You can try out the following steps:
- Increase your memory limit in wp-config.php
- Increase your memory limit by editing
php.ini
. This is not a file that comes with WordPress so if you are unfamiliar with it you should contact your web host about increasing your memory limit.
Maximum execution time exceeded
You may receive a message such as “Maximum execution time of 30 seconds exceeded” or “Maximum execution time of 60 seconds exceeded”. This means that it is taking to longer for a process to complete and it is timing out. There are a number of ways to fix this error.
Editing .htaccess
Make sure you back up .htaccess
before you edit it.
Add the following line to .htaccess
:
php_value max_execution_time 60
Editing php.ini
Add the following to php.ini
max_execution_time = 60
If you are unsure of how to make these changes, or if you are on shared hosting that prevents you from making them yourself, you should contact your hosting provider and ask them to increase your maximum execution time.
Parse errors
Syntax Error
A syntax error means that you have made a mistake while creating your PHP structure. You could, for example, be;
- Missing a
;
at the end of an individual line. - Using curly quotation marks.
- Missing a curly bracket.
When this error appears it will tell you which file the error appears in (functions.php
for example) and approximately which line (it may not always be the exact line so be sure to check just before and just after) in the code.
Unexpected
If you are receiving an error which says ‘parse error: unexpected’ this usually means that you have forgotten to include a character. The most common are:
- Unexpected ‘=’ : you have forgotten to include the $ when referencing a variable
- Unexpected ‘)’ : you have forgotten to include the opening bracket (
- Unexpected ‘(‘ : you have forgotten to include the closing bracket )
- Unexpected T_STRING: you have forgotten a quotation mark or a semi-colon at the end of the previous line
- Unexpected T_ELSE: you have an else statement with no opening if statement
Use of an undefined constant
As with parse errors, “use of an undefined constant” means that you are missing a character. It could be one of the following:
- Missing a $ when referencing a viariable
- Missing quotation marks around array keys
Database Errors
The following errors may appear in relation to your WordPress database.
Error 13 – Cannot Create/Write to File
There are a number of reasons why you may be experiencing this error.
MySQL cannot create a temporary file.
The MySQL variable tmpdir
is set to a directory that cannot be written to when using PHP to access MySQL. To verify this, enter MySQL at the command line and type show variables
. You’ll get a long list and one of them will read: tmpdir = /somedir/ (whatever your setting is.)
To solve this, alter the tmpdir variable to point to a writable directory.
- Find the my.cnf file. On *nix systems this is usually in /etc/. On Windows system, Find the my.ini.
- Once found, open this in a simple text editor and find the [mysqld] section.
- Under this section, find the tmpdir line. If this line is commented (has a # at the start), delete the # and edit the line so that it reads: tmpdir = /writable/dir where /writable/dir is a directory to which you can write. Some use /tmp, or you might also try /var/tmp or /usr/tmp. On Windows, use C:/Windows/tmp.
- Save the file.
- Shutdown MySQL by typing
mysqlshutdown -u -p shutdown
. - Start MySQL by going to the MySQL directory and typing
./bin/safe_mysqld &
. Usually the MySQL directory is in /usr/local or sometimes in /usr/ on Linux systems.
The file permissions are incorrect
Correct the File Permissions.
If none of this make sense and you have someone to administrate your system for you, show the above to them and they should be able to figure it out.
CREATE Command Denied to User
This error occurs when the user assigned to the database does not have adequate permissions to perform the action to create columns and tables in the database. You will need to log in to CPanel or Plesk to give your database user adequate permissions.
Alternatively you can create a new user to assign to your database. If you do create a new user you will need to ensure that it is updated in wp-config.php
.
Error 28
It could be because:
- you are out of space on /tmp (wherever tmpdir is), or,
- you have too many files in /tmp (even if there is lots of free space), or,
- Your cache on your server is full
This is a MySQL error and has nothing to do with WordPress directly; you should contact your host about it. Some users have reported that running a “repair table” command in phpMyAdmin fixed the problem.
Error 145
This indicates that a table in your database is damaged or corrupted. If you are comfortable using phpMyAdmin you can use these instructions on repairing your MySQL database tables.
Always backup your database before performing any actions on it.
If you have not used phpMyAdmin before, or are uncomfortable doing so, contact your web host and ask them to run CHECK/REPAIR on your database.
Unknown Column
An unknown column error can be caused by a missing column in the database. If you have just upgraded WordPress then try manually upgrading again. To update your WordPress site manually, see the Update article.
If you are running a database query when you encounter the error then you may by using incorrect quotation marks for the identifier quote character. This question on Stack Overflow provides more details. Also see the MySQL documentation.
Resources
- MySQL Error Codes and Messages
Существует такое обилие учебников по WordPress, обучающих фрагментов кода доступны в интернете. Все они предназначены для пользователей, чтобы попробовать новые фишки на их сайт и узнать больше о WordPress. К сожалению, маленькая ошибка может привести к поломке сайта, которые очень неприятны, особенно для новых пользователей. Если вы пытались добавить что-то новое на вашем WordPress сайте и получили следующую ошибку “Syntax error, unexpected…”, то не паникуйте. Вы не первый, у кого появляется ошибка синтаксиса в WordPress, и Вы не будете последним. В этой статье мы покажем вам, как исправить непредвиденные ошибки синтаксиса в WordPress.
Используйте правильный Синтаксис, чтобы избежать ошибок
Первое, что вам нужно сделать, это посмотреть руководство для начинающих при вставки фрагментов из Интернета в WordPress. В этой статье перечислены некоторые очень распространенные ошибки новичков при вставке кода в шаблонах WordPress. Синтаксическая ошибка обычно возникает маленькая, но принципиальная ошибка в вашем синтаксисе кода. Отсутствует запятая или лишняя фигурная скобка, которые могут сломать весь сценарий.
Вы недавно вставили фрагмент из интернета? Обновлен плагин? Тогда есть шанс, что вы точно знаете, где искать.
Фиксация синтаксической ошибке с помощью протокола FTP
В целях исправления ошибки вам необходимо отредактировать код, который вызвал эту ошибку. Вы можете либо удалить его или исправить синтаксис. Часто начинающие волнуются, потому что в результате этой ошибки весь сайт стали недоступными. Если вы вставили код через админ панель WordPress внешний вид » редактор раздела, то вы заблокированы. Так как вы отредактируете код? Посмотрите нашу статью по решению проблемы блокировки админа. Единственный способ исправить, это открыть файл, который вы последний раз редактировали, так это по протоколу FTP (как пользоваться FTP).
После установки FTP-программы, подключите его в ваш веб-сайт и перейдите к файлу темы, который хотите отредактировать. В случае, если вы забыли, какой файл нужно редактировать, просто посмотрите на код ошибки. Ошибки обычно скажет вам точно, какой файл и какие строки нужно изменить.
Вы можете либо удалить код, который вы последний раз добавили или записать код в правильный синтаксис. После завершения удаления / редактирования код, сохраните файл и загрузите его обратно на сервер. Перейдите на свой сайт WordPress и обновите страницу, и ваш сайт будет работать.
Мы надеемся, что эта статья помогла вам исправить Синтаксическую ошибку в WordPress.
Пожалуйста, оставляйте свои вопросы и отзывы в комментариях.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Мы, веб-мастера и SEO-оптимизаторы, в целом народ работящий и немного параноидальный. Последнее чаще всего случается у тех, кто в этом деле не первый год и имеют кой-какой опыт. Вот казалось бы, что может случиться с новым сайтом, если всё вроде хорошо и он вполне нормально работает?
Ничего, — скажет новичок, и будет в корне не прав. Товарищ! А ты давно проверял метатэги, роботс, сайтмап? А?! Что?! Всё ж нормально в прошлый раз… было? Ну-ну…
На самом деле, сервер где лежит твой сайт, это почти живая вещица, на которой, порой мистическим образом, что-то появляется, а что-то совсем даже наоборот, исчезает.
Вот пример простой, захожу сегодня на один из моих сайтов, проверить как себя sitemap.xml чувствует. Глядь, ан вместо него сообщение об ошибке.
А это, скажу я тебе, довольно-таки… фигово. Поисковые роботы могут обидеться и уйти, обозвав владельца сайта рукозадым неудачником.
Как думаешь, стоит ли сайт рукозадого неудачника того, чтобы рекомендовать его другим пользователям? А если подобных сайтов вагон и большущая тележка? Вот то-то и оно.
Жму Ctrl-U и вывожу исходный код страницы с ошибкой. Вот кусочек, который находится в самом начале. В нём и притаилась ошибка.
Казалось бы, ну подумаешь три пустых строчки вначале. Проблема XML-формата (а на самом деле наша с вами) в том, что браузеры (и не только) очень критичны к ошибкам в синтаксите таких файлов. Вот положено ему начинаться с открывающего тэга <?xml, значит вынь да предъяви. И даже если будут всего-лишь пустые строчки впереди, файл объявляется непригодным к службе.
Почему это случилось со мной?
Откуда же те три пустые строчки взялись на нашу голову? Вариантов масса. Например, обновился какой-нибудь плагин или тема, а там накосячено малость, и вот тебе здрасссти приехали. Еще бывает сайт взломали, фигни всякой навнедряли, вот оно и аукнулось таким странным образом.
Потому, самой первой рекомендацией везде пишут: вырубать плагины (можно все разом, можно по очереди) и смотреть исчезнет ошибка или нет. Еще можно временно переключиться на новую тему оформления. Если ошибка исчезла, значит дело в теме.
В моём же случае всё вообще просто. Дело в том, что я люблю добавлять всякие разные функции и возможности к шаблону (теме) сайта. Вносятся они, как правило, в файл functions.php Вот в нём и нужно искать нестыковки.
Что делать и куда бежать?
Итак, если ты тоже время от времени вносишь всякие финтифлюшки в шаблон, открывай functions.php и ищи открывающие и закрывающие тэги языка PHP.
Смотри картинку. Видишь? Между закрывающим и открывающим тэгами имеются пустые строки! Это то самое!
Просто файл функций обрабатывается вместе с любой страницей сайта, включая сайтмап. Вот эти строки и выходят нам боком.
Убираем их!
Сохраняем functions.php на сервере.
Обновляем sitemap.xml и смотрим.
Всё работает. И дело не в том, как исправить ошибку синтаксического анализа XML в нашем сайтмапе, дело в принципе! Проверять надо! Всё проверять! Всегда! А потом, через некоторое время, проверять снова. Только так! Делайте выводы, господа.
На вашем сайте присутствует ряд ошибок WordPress, которые часто делают его непригодным для использования:
«Ошибка синтаксического анализа: синтаксическая ошибка, непредвиденная …»
«Примечание: использование неопределенной константы …»
«Ошибка разбора: неожиданная …»
Все, что вы сделали, это добавили код, чтобы немного изменить внешний вид вашего сайта. Итак, что же произошло на самом деле?
К счастью, эти ошибки можно легко устранить, исправив код, который вы добавили. Читайте дальше, чтобы узнать больше об исправлении этих ошибок.
Что такое ошибка анализа?
В контексте PHP синтаксический анализ — это то, что происходит, когда ваш код преобразуется из последовательности символов в окончательный результат, который посетителей увидит на вашем сайте.
Эти ошибки возникают, когда код PHP по какой-либо причине не может начать или закончить анализ. Возможно, файл или база данных данные недоступен, поврежден или ваша версия PHP несовместима с WordPress, права доступа к файлам установлены неправильно, на вашем сервере закончилась память PHP или в коде есть структурная ошибка.
В WordPress последнее обычно встречается чаще всего, и существует три основных типа:
- Ошибка синтаксиса — Возникли проблемы с использованием точек с запятой, фигурных скобок или кавычек. Либо их отсутствие, либо злоупотребление.
- неожиданная ошибка — Вы забыли включить персонажа, такого как открывающая или закрывающая поддержка, или другие возможные символы.
- Постоянная ошибка «Не определено» — В массиве отсутствует символ при ссылке на переменную или в других возможных сценариях.
Имейте в виду, что эти три типа ошибок синтаксического анализа имеют множество различных вариаций в зависимости от конкретной ошибки в коде.
Как исправить ошибки анализа
Ошибка синтаксического анализа может показаться пугающей, но это одна из самых простых ошибок, которую исправить. Где-то в только что добавленном коде есть элемент, который нужно исправить, чтобы ошибка исчезла.
Если вы только что добавили код самостоятельно или установили плагин или тему до появления ошибки, вам следует начать поиск именно здесь. Удаление фрагмента, плагина или темы должно решить проблему, или вы можете исправить ошибку самостоятельно.
Есть отличный способ улучшить поиск и точно знать, где вам нужно изучить код для исправления ошибки.
Вот структура ошибок синтаксического анализа, с которыми вы, скорее всего, столкнетесь:
«Ошибка синтаксического анализа: неожиданная синтаксическая ошибка в пути / к / php-file.php в строке [номер]»
«Примечание: использование неопределенной константы — предполагается» в пути / к / php-file.php в строке [номер] «
Неожиданные ошибки могут иметь вариации, но обычно они выглядят так:
«Ошибка разбора: неожиданно в пути / к / php-file.php в строке [номер]»
Имейте в виду, что в случае ошибок неопределенных констант указанная константа может быть строкой, которая использовалась неправильно.
Точно так же неожиданные ошибки синтаксического анализа могут перечислять строку вместо символа.
В каждом из этих примеров мы номер Указывает строку, где находится ошибка, но иногда ее номер не всегда корректен.
Файл, указанный в сообщении об ошибке, указывает на происхождение файла, а номер строки дает вам подсказку, где искать ошибку. Это либо на этой линии, либо немного впереди.
Срок персонаж «Или» строковая константа Эти примеры дают вам представление о том, что искать в заданном номере строки. Это то, что нужно исправить, где это относится к тому, что нужно исправить.
Теперь, когда вы знаете, где вы ищете, вы можете подключиться к своему сайту, используя ваш любимый FTP-клиент, чтобы найти файл и либо отредактировать его непосредственно в вашем FTP-клиенте, либо вы можете загрузить его на свой компьютер, отредактировать и затем загрузить его. отправить обратно на ваш сайт.
Как избежать этих ошибок
Избежать этих ошибок так же просто, как исправить их, если вы хотя бы немного знакомы с PHP. Вы можете проверить свой код на наличие синтаксических ошибок автоматически, поместив его в средство проверки кода PHP.
Вот некоторые бесплатные валидаторы вы можете использовать:
- W3 Markup Validation Service
- Код проверки PHP
- PHP код Проверка синтаксиса
Вот несколько советов по наиболее распространенным синтаксическим ошибкам, которые вы можете проверить в первую очередь:
Убедитесь, что тег PHP открыт только один раз ( ).
Поиск забывающих случаев закрытия тегов PHP
Если вы добавляете код, убедитесь, что он включен перед закрывающим тегом, а не после
Это все для этого урока, я надеюсь, что оно позволит вам исправить ошибки анализа на WordPress. Не стесняйтесь поделиться им с друзьями в ваших любимых социальных сетях.
Приветствую всех друзей и читателей – Sozdaiblog.ru!
Сегодня Вы узнаете, как грубым, но эффективным способом починить в WordPress RSS ленту и избавиться от надоедливой ошибки синтаксического анализа XML.
Я уверен, что многие из Вас при нажатии на оранжево-полосатую кнопку ни один раз наблюдали следующую картину:
К сожалению, я тоже сталкивался с этим чудным багом.
В то время из-за своей неопытности мне пришлось полдня провисеть в Интернете, бегая от сайта к сайту, дабы найти лекарство от этой заразы.
По себе знаю, что когда в Интернете целенаправленно пытаешься найти необходимую информацию, то хрена лысого она попадается. Будешь сутками лазить в поисках решения, пока со злости не бросишь это занятие.
Но, я то парень упёртый и на одном из сайтов всё-таки разыскал своеобразный «бычий способ», но реально работающий.
Итак.
Уничтожение ошибки синтаксического анализа XML.
Чтобы исправить ошибку синтаксического анализа XML, нужно немного поковыряться в ядре движка.
В корневой папке Вашего сайта необходимо найти каталог «wp-includes». В этом каталоге нам потребуется подкорректировать следующие файлы:
1. feed-atom-comments.php
2. feed-atom.php
3. feed-rdf.php
4. feed-rss.php
5. feed-rss2-comments.php
6. feed-rss2.php
В первых двух файлах нужно удалить всё, что находится до блока:
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="<?php bloginfo_rss( 'language' ); ?>" xmlns:thr="http://purl.org/syndication/thread/1.0" <?php do_action('atom_ns'); do_action('atom_comments_ns'); ?> >
В третьем до:
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" <?php do_action('rdf_ns'); ?> >
У четвёртого отсекаем все строчки до:
<rss version="0.92">
А у пятого и шестого до:
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" <?php do_action('rss2_ns'); do_action('rss2_comments_ns'); ?> >
Обязательно проверьте все шесть файлов на наличие пустых строк. Они не должны присутствовать ни в одном документе.
Закончив все действия, не забудьте сохраниться.
Спустя некоторое время Ваша RSS лента чудесным образом заработает.
Единственная загвоздка в том, что при обновлении WordPress придётся пройти эту процедуру заново. На самом деле это просто и займёт 5—10 минут Вашего времени.
Если у Вас есть другие решения этой проблемы, буду очень рад увидеть их в комментариях.
На сегодня это всё. До скорых встреч…
С уважением, Денис Черников!
Viewing 12 replies — 16 through 27 (of 27 total)
I’m having simular issue but on the line 57 with both PHP 7.3 and 7.4
Parse error: syntax error, unexpected ‘:’, expecting ‘{‘ in /public_html/wp-content/plugins/woocommerce/woocommerce.php on line 57
Reinstalled WooCommerce a few time but it’s still coming up.
Would realy appreciate if this gets solved.
I have this parse error on line 57 too. I have spoken to woocommerce several time over the past few months to no avail. I have deactivated plugin, upgraded software, upgraded php and still the problem occurs, my client is now, understandably, getting a little frustrated. Has anyone found an answer to this error?
also getting this issue… what do we dooo?
@davidschwartz12
I updated my php to past version 7.2 and it works. Hope that helps.
Thank you to whoever suggested upgrading the PHP version! You saved me hours of work. Upgraded to 7.4 and worked.
I’m running PHP 7.4+ and still having this issue. Is there some configuration in the php.ini file that needs to be tweaked or something? This is breaking a lot of sites. I can’t update past PHP 7.4 right now. But according to this thread, it should be working. Anyone?
Hi, I’m getting the same error, over and over again, every update to any plugin keeps initiating the same error.
[16-Jun-2021 23:00:50 UTC] PHP Parse error: syntax error, unexpected ‘:’, expecting ‘{‘ in /home/——/public_html/wp-content/plugins/woocommerce/woocommerce.php on line 57
We’re running PHP Version 7.4, the “latest” version required by WordPress and WooCommerce.
Why isn’t WooCommerce fixing this with an update that works?
Is it a WordPress issue?
What is the solution here?
Sooo many people with the same problem deserve some action surely.
Am experiencing this issue out of nowhere. No changes or recent notifications of any automatic updates to our site. It says the error is occuring at the login page, which means I can’t login to my admin panel. Am running PHP 7.4.20
I am going to have to use a backup to restore the site and looks like my only option is to somehow deactivate and remove the WooCommerce component that we aren’t even currently using.
I got this too when trying to use WP-CLI search-replace.
unexpected ‘:’, expecting ‘{‘ in /public_html/site/wp-content/plugins/woocommerce/woocommerce.php on line 57
Solutions? Ideas?
Plugin Support
Mirko P.
(@rainfallnixfig)
Hello @argentum,
Please create your own thread since this one is technically resolved. We want to make sure that every user’s issues receive their own thread with proper attention.
Cheers.
I was getting the same error, I just updated the PHP version in WHM from 5.x to 7.1, and it quickly fixed the issue. Hopefully, it’ll work for you as well unless any other plugin/theme is not causing a conflict.
Perhaps, I’ll recommend, activating WordPress basic theme temporarily & updating the PHP version. It should tell you what yu’re looking for
- This reply was modified 11 months, 2 weeks ago by codetoons.
As other people have found, switching from PHP 5.x to 7.x fixed the issue for me. There was one caveat though…
In cPanel, you can use the MultiPHP Manager to change the version of PHP that the site runs on. But, if you use WP-CLI, then it will still run on the default system version. So if that default version is still PHP 5.x, you’ll continue to see the error.
In that case, run this command and it will tell you what version of PHP it’s using.
wp-cli --info
Follow either of these links in order to make wp-cli use a different version of PHP:
https://make.wordpress.org/cli/handbook/installing/#using-a-custom-php-binary
https://wordpress.stackexchange.com/questions/244164/wp-cli-selecting-php-version
https://stackoverflow.com/questions/31206864/use-different-php-version-cli-executable-for-one-command
Viewing 12 replies — 16 through 27 (of 27 total)
Viewing 12 replies — 16 through 27 (of 27 total)
I’m having simular issue but on the line 57 with both PHP 7.3 and 7.4
Parse error: syntax error, unexpected ‘:’, expecting ‘{‘ in /public_html/wp-content/plugins/woocommerce/woocommerce.php on line 57
Reinstalled WooCommerce a few time but it’s still coming up.
Would realy appreciate if this gets solved.
I have this parse error on line 57 too. I have spoken to woocommerce several time over the past few months to no avail. I have deactivated plugin, upgraded software, upgraded php and still the problem occurs, my client is now, understandably, getting a little frustrated. Has anyone found an answer to this error?
also getting this issue… what do we dooo?
@davidschwartz12
I updated my php to past version 7.2 and it works. Hope that helps.
Thank you to whoever suggested upgrading the PHP version! You saved me hours of work. Upgraded to 7.4 and worked.
I’m running PHP 7.4+ and still having this issue. Is there some configuration in the php.ini file that needs to be tweaked or something? This is breaking a lot of sites. I can’t update past PHP 7.4 right now. But according to this thread, it should be working. Anyone?
Hi, I’m getting the same error, over and over again, every update to any plugin keeps initiating the same error.
[16-Jun-2021 23:00:50 UTC] PHP Parse error: syntax error, unexpected ‘:’, expecting ‘{‘ in /home/——/public_html/wp-content/plugins/woocommerce/woocommerce.php on line 57
We’re running PHP Version 7.4, the “latest” version required by WordPress and WooCommerce.
Why isn’t WooCommerce fixing this with an update that works?
Is it a WordPress issue?
What is the solution here?
Sooo many people with the same problem deserve some action surely.
Am experiencing this issue out of nowhere. No changes or recent notifications of any automatic updates to our site. It says the error is occuring at the login page, which means I can’t login to my admin panel. Am running PHP 7.4.20
I am going to have to use a backup to restore the site and looks like my only option is to somehow deactivate and remove the WooCommerce component that we aren’t even currently using.
I got this too when trying to use WP-CLI search-replace.
unexpected ‘:’, expecting ‘{‘ in /public_html/site/wp-content/plugins/woocommerce/woocommerce.php on line 57
Solutions? Ideas?
Plugin Support
Mirko P.
(@rainfallnixfig)
Hello @argentum,
Please create your own thread since this one is technically resolved. We want to make sure that every user’s issues receive their own thread with proper attention.
Cheers.
I was getting the same error, I just updated the PHP version in WHM from 5.x to 7.1, and it quickly fixed the issue. Hopefully, it’ll work for you as well unless any other plugin/theme is not causing a conflict.
Perhaps, I’ll recommend, activating WordPress basic theme temporarily & updating the PHP version. It should tell you what yu’re looking for
- This reply was modified 11 months, 2 weeks ago by codetoons.
As other people have found, switching from PHP 5.x to 7.x fixed the issue for me. There was one caveat though…
In cPanel, you can use the MultiPHP Manager to change the version of PHP that the site runs on. But, if you use WP-CLI, then it will still run on the default system version. So if that default version is still PHP 5.x, you’ll continue to see the error.
In that case, run this command and it will tell you what version of PHP it’s using.
wp-cli --info
Follow either of these links in order to make wp-cli use a different version of PHP:
https://make.wordpress.org/cli/handbook/installing/#using-a-custom-php-binary
https://wordpress.stackexchange.com/questions/244164/wp-cli-selecting-php-version
https://stackoverflow.com/questions/31206864/use-different-php-version-cli-executable-for-one-command
Viewing 12 replies — 16 through 27 (of 27 total)
Опубликовано: ADv
Дата 18.09.2014
в рубрике WP для начинающих, Ошибки
Комментировать
Существует огромное количество различного рода гайдов, обучающих статьей и сниппетов для WordPress по всей сети Интернет. Все они рассчитаны на пользователей, которые хотят привнести что-то новое в свои сайты и более подробно изучить WordPress. Однако, даже маленькая ошибка где-то в коде может привести к тому, что весь сайт перестанет работать, что, как правило, очень пугает новичков. Если вы тестируете какие-то новые сниппеты на вашем сайте WordPress и получаете в итоге следующую ошибку “Syntax error, unexpected…”, не паникуйте. Вы — не первый, кто столкнулся с ошибкой синтаксиса в WordPress, и наверняка не последний. В этой статье мы покажем вам как исправить unexpected syntax error в WordPress.
Используем корректный синтаксис во избежание ошибок
Первым делом вам необходимо взглянуть на статью для новичков о том, как правильно вставлять сниппеты, найденные в сети, в WordPress. В этой статье перечислены несколько наиболее общих ошибок, совершаемых новичками при добавлении кода в шаблоны WordPress. Ошибка синтаксиса обычно возникает из-за мелкой, но роковой ошибки в синтаксисе кода. Это может быть и отсутствующая запятая, или дополнительная закрывающая круглая/фигурная скобка. Любой из символов, теоретически, может сломать весь скрипт.
Вы недавно вставляли новый сниппет из интернета? Обновляли плагин? Тогда вероятность того, что вы знаете где именно искать ошибку, очень высока.
Исправляем ошибку синтаксиса с помощью FTP
Для того, чтобы исправить Syntax Error, вам необходимо отредактировать код, который привел к этой ошибке. Можно либо вытереть код, либо исправить ошибку. Часто новички начинают сильно нервничать, потому как эта ошибка приводит к тому, что сайт становится полностью недоступным. Если вы вставили код с помощью редактора, который расположен в административной панели сайта WordPress в разделе Внешний вид » Редактор, тогда вы потеряли доступ к сайту. Как же отредактировать код? Единственным способом исправить ошибку будет доступ к файлу, который вы редактировали последним, с помощью FTP.
После установки FTP клиента, подключитесь к своему сайту и перейдите к файлу темы, который нуждается в редактировании. В случае, если вы забыли, какой именно файл необходимо подправить, тогда просто посмотрите на код ошибки. Ошибка четко укажет вам в каком конкретно файле и в какой именно строке нужна ваша правка. Также можно отсортировать файлы в FTP клиенте по дате и определить, какой файл редактировался последним.
Вы можете либо убрать код, который вы вставляли последним, либо же переписать код с корректным синтаксисом. После того, как вы закончили с удалением/редактированием кода, сохраните файла и загрузите его обратно на сервер. Вернитесь на свой сайт WordPress и обновите страницу. Вуаля! Ваш сайт снова работает!
Мы надеемся, что эта статья помогла вам исправить Syntax Error в WordPress.
Если вы только начинаете разбираться с WordPress, то не забудьте посетить нашу рубрику WordPress для новичков, где мы публикуем материалы специально для новых пользователей WordPress.
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.
Rating: 0.0/5 (0 votes cast)
Теги: wordpress доступ ошибка редактор сниппет шаблон
Об авторе ADv
Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации.
Skype: advokat_b
Ваш сайт является важным аспектом вашего бизнеса. Это может быть даже ваш основной источник дохода. Если у вас возникли проблемы с сайтом WordPress, это может привести к значительным сбоям. Этого достаточно, чтобы отправить кого-либо в панику.
Содержание
1
К счастью, большинство общих проблем, с которыми сталкиваются пользователи WordPress на своих сайтах, имеют простые решения. Скорее всего, вы можете быстро исправить ошибку, с которой столкнулись.
В этом посте мы обсудим, как проблемы с вашим сайтом могут нанести ущерб вашему бизнесу. Затем мы рассмотрим пять распространенных ошибок WordPress и покажем, как их устранять и устранять. Давайте начнем!
Как ошибки сайта могут нарушить ваш бизнес
Если вы похожи на большинство людей, вы полагаетесь на свой сайт WordPress для управления и продвижения своего бизнеса. Начиная с проведения операций электронной коммерции и заканчивая предоставлением поддержки клиентам, ваш сайт — это средство доставки ваших продуктов и услуг.
Когда ваш сайт не работает или некоторые страницы загружаются неправильно, это может создать эффект домино проблем для вашего бизнеса. В дополнение к негативному влиянию на пользовательский опыт, ошибки веб-сайта затрудняют, а иногда и делают невозможным выполнение повседневных задач.
WordPress — это мощная и (обычно) высокопроизводительная платформа. Если он неожиданно выдает ошибку, есть причина этого. Хорошая новость в том, что вы, вероятно, сможете решить ее с помощью небольшого руководства.
Перед устранением неполадок при любой ошибке важно сначала создать резервную копию вашего сайта . Таким образом, если что-то пойдет не так, когда вы пытаетесь решить проблему, у вас будет копия, которую вы сможете восстановить.
Как только это уйдет, рассмотрите эти пять распространенных типов ошибок WordPress и их быстрое исправление.
1. Разбор или синтаксические ошибки
Когда дело доходит до WordPress, синтаксическая ошибка или синтаксическая ошибка — это хорошая проблема. Полученное сообщение обычно говорит вам, что именно является причиной проблемы и куда ее устранить.
Если вы получаете сообщение об ошибке синтаксиса, это, вероятно, означает, что с вашим кодом что-то не так. Более конкретно, это обычно объясняется отсутствием знака препинания или неправильным использованием скобок или скобок. В уведомлении должно быть указано, в каком файле содержится проблема, а также в какой строке оно находится:
В приведенном выше примере сообщение об ошибке синтаксиса указывает на то, что проблема в файле functions.php темы Twenty Sixteen. Это также указывает на строку 73 кода.
Чтобы решить эту проблему, вы можете найти и отредактировать файл, указанный в сообщении об ошибке, с помощью клиента протокола передачи файлов (FTP), такого как FileZilla . Если вы не знакомы с этим методом доступа к серверу вашего сайта, вы можете обратиться к руководству с вашего веб-хостинга .
Получив доступ к файлу и найдя нужную строку кода, вы, надеюсь, сможете быстро выявить проблему. Например, когда мы смотрим на файл Twenty Sixteen functions.php , мы видим, что в строке 73 отсутствует открытая скобка:
После исправления кода сохраните изменения. Ваш FTP-клиент, скорее всего, спросит, хотите ли вы заменить существующий файл на сервере. Выберите Да , затем проверьте, чтобы ваш сайт вернулся в нормальное состояние.
Чтобы помочь устранить или предотвратить синтаксические ошибки, вы можете также рассмотреть возможность использования PHP Code Checker :
Вы можете скопировать и вставить весь файл PHP в текстовое поле, а затем нажать кнопку « Анализ», чтобы запустить проверку синтаксиса. В дополнение к его использованию для выявления и устранения ошибок также целесообразно использовать этот инструмент перед применением любого нового кода на вашем сайте.
2. Белый экран смерти (WSoD)
«Белый экран смерти» (WSoD) — одна из самых страшных, но, к сожалению, распространенных ошибок сайта WordPress. Это особенно расстраивает, потому что он представлен в виде пустого белого экрана, где должно быть содержимое вашего сайта:
В некоторых случаях это может содержать неопределенное сообщение, сообщающее, что «что-то» пошло не так или не работает. Это все еще не дает вам много информации, когда дело доходит до устранения неполадок.
Есть несколько потенциальных причин:
- Неисправный плагин. Распространенным виновником WSoD является конфликт плагинов. Лучший способ устранения этой проблемы — отключить все ваши плагины, а затем индивидуально активировать их, пока вы не сможете точно определить, какой из них был неисправен. Если у вас есть доступ к панели администратора, вы можете сделать это, выбрав Плагины> Установленные плагины . Если нет, вы можете отключить их с помощью FTP .
- Ошибка ограничения памяти PHP . Если вашему сайту не хватает памяти, он может завершить работу перед загрузкой страницы. Чтобы решить эту проблему, вам нужно увеличить ограничение памяти PHP . Есть несколько способов сделать это, но конкретные инструкции зависят от хостинг-провайдера.
- Проблема с вашей темой. Подобно плагинам, неисправная тема может быть за WSoD. Самый быстрый способ определить, является ли это проблемой, это переключиться на стандартную тему WordPress, такую как Twenty Twenty . Если у вас нет доступа к панели администратора, вы можете вручную переключать темы по FTP .
Если вы попробовали описанные выше методы и по-прежнему не можете определить причину, попробуйте включить режим отладки WordPress . Активация этой функции позволяет увидеть ошибки на страницах сайта, что может помочь вам обнаружить основную проблему.
3. Ошибка при установлении соединения с базой данных
Ваша база данных содержит все ваши сообщения, страницы и другую ключевую информацию о сайте. Если ваш сайт не может получить доступ к вашему, он не сможет функционировать. Это часто приводит к сообщению «Ошибка при установлении соединения с базой данных»:
Наиболее вероятная причина этого типа ошибки WordPress — проблема в вашем файле wp-config.php . Поэтому проверка — это хорошее место для начала. Вы можете получить к нему доступ через FTP — он должен находиться в вашем корневом каталоге.
Когда вы откроете wp-config.php , вы захотите убедиться, что он содержит соответствующие учетные данные базы данных. В частности, вы видите, что имя базы данных, имя пользователя, пароль и хост указаны правильно:
define (‘DB_NAME’, ‘your_database_name’); define (‘DB_USER’, your_username ‘); define (‘DB_PASSWORD‘, ‘database_password‘); define (‘DB_HOST‘, ‘localhost‘); |
Вы должны быть в состоянии найти эту информацию в вашей учетной записи хостинга. Исправление ошибок и сохранение файла должны исправить ошибку при установлении соединения с базой данных.
Если учетные данные уже верны, тем не менее, вам может понадобиться использовать инструмент оптимизации базы данных WordPress. Для этого добавьте следующую строку кода в конец вашего файла wp-config.php :
define (‘WP_ALLOW_REPAIR’, true); |
После сохранения изменений перейдите на yoursitename.com/wp-admin/maint/repair.php:
Следуйте инструкциям по мере необходимости, чтобы восстановить вашу базу данных. После устранения проблемы не забудьте удалить эту строку кода из файла wp-config.php .
4. 404: страница не найдена
Страница 404 ошибки появляется , когда сервер не может найти запрошенный контент. Обычно это происходит из-за неработающих ссылок или неправильной структуры постоянных ссылок . Это также может указывать на проблему с вашим файлом .htaccess .
Первым шагом к исправлению ошибки 404 является проверка неработающих ссылок. Если вы не найдете ничего, вам нужно сбросить структуру постоянных ссылок на параметр по умолчанию.
Для этого перейдите в « Настройки»> «Постоянные ссылки» на панели инструментов WordPress:
Выберите опцию Post name и сохраните ваши изменения.
Если это не работает, следующим шагом будет ручное восстановление файла .htaccess . Для этого вам необходимо получить доступ к корневой папке через FTP.
Там найдите .htaccess и удалите его. Затем загрузите новый файл с тем же именем, который содержит следующий код:
# НАЧАТЬ WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^ index.php $ — [L] RewriteCond% {REQUEST_FILENAME}! —F RewriteCond% {REQUEST_FILENAME}! —D RewriteRule. /index.php [L] </ IfModule> # КОНЕЦ WordPress |
Этого должно быть достаточно для устранения ошибки 404.
5. Внутренняя ошибка сервера
Внутренние ошибки сервера — еще один пример проблемы WordPress, которая дает мало информации для работы. Тем не менее, есть большая вероятность, что причина либо:
- Неправильная конфигурация в вашем файле .htaccess
- Достижение лимита памяти PHP вашего сайта
- Конфликтующие плагины и / или темы
Чтобы определить, является ли ваш файл .htaccess причиной проблемы, вы можете просто заменить его, как мы описали выше. Затем обновите свой сайт, чтобы увидеть, решена ли проблема.
Мы также рассмотрели, как увеличить лимит памяти PHP и устранить конфликты плагинов ранее в этом посте. Если замена .htaccess не решит проблему, попробуйте выполнить следующие действия.
Наконец, это также может быть результатом ошибки на стороне сервера. Если это так, вам нужно связаться с вашим хостом для исправления.
Вывод
Испытание проблемы с вашим сайтом WordPress может быть чрезвычайно стрессовым. Однако чем быстрее вы сможете устранить неполадки и решить проблему, тем больше у вас шансов минимизировать сбои.
Как мы обсуждали в этой статье, пять наиболее распространенных типов ошибок WordPress, с которыми сталкиваются пользователи:
- Синтаксические или синтаксические ошибки: часто результат опечаток или неправильного использования знаков препинания в вашем коде.
- Белый экран смерти: обычно вызывается конфликтом плагинов или ошибкой ограничения памяти PHP.
- Ошибка при установлении соединения с базой данных: возможно, результат неправильных учетных данных в вашем файле wp-config.php .
- Сообщения, возвращающие ошибку 404: возможно, из-за неработающих ссылок или неправильной структуры постоянных ссылок.
- Внутренняя ошибка сервера: обычно может быть исправлена путем замены .htaccess , увеличения лимита памяти вашего сайта или диагностики конфликта плагинов.
Есть ли у вас какие-либо вопросы по устранению ошибок WordPress? Дайте нам знать в комментариях ниже!
Приветствую, друзья. Сегодня совершенно случайно обнаружил, что у меня перестала работать RSS подписка на обновления блога. Готовил другую статью, для этого зашел на страничку biznessystem.ru/feed/, а она мне вот такую ерунду показала.
Не зашел бы, так и не был бы в курсе, что мои посетители не могут подписаться на новости. Не знаю, в течение какого времени эта штука перестала работать, видимо, или я где-то накосячил при правке файлов сайта или разработчики что-то намудрили и ошибка появилась после очередного обновления WordPress.
Итак, код я получил такой:
Ошибка синтаксического анализа XML: объявление XML или текста не в начале сущности Адрес: http://feeds.feedburner.com/dzhilin Строка 2, символ 1:<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" ^
Поиски проблемы
Сначала появилась мысль, что что-то с файлами отвечающими за RSS. Поискал в интернете и нашел несколько статей, которые рекомендовали искать причину в них. Открыл поочередно wp-rss.php, wp-rss2.php, wp-feed.php не нашел там никаких лишних строк и пробелов.
Окончательно разуверился в теории о системных RSS файлах после того, как проверил ленту на других своих сайтах, имеющих ту же версию wordpress – там все работало. За исключением одного сайтика, который я использую для всяческих экспериментов.
Лечение ошибки
Пришла догадка, что проблема, все таки, моих рук дело. Я кое-что менял в файле function.php своей темы. Проверял на тестовом сайте, потом вносил изменения в блог – на обоих не работает RSS лента.
Открыл этот файлик и, аллилуйя, в конце, после закрывающего тега «?>» стояли две пустых строки.
Удалил эти строчки и нормальная работа восстановилась.
Интересно, что на тестовом сайте все заработало мгновенно, а на блоге спустя пару минут (не знаю с чем это связанно).
Итак, если вы столкнетесь с сообщением «Ошибка синтаксического анализа XML: объявление XML или текста не в начале сущности» — ищите проблему в лишних пробелах или строках в php файлах перед кодом или после него.
Мы, веб-мастера и SEO-оптимизаторы, в целом народ работящий и немного параноидальный. Последнее чаще всего случается у тех, кто в этом деле не первый год и имеют кой-какой опыт. Вот казалось бы, что может случиться с новым сайтом, если всё вроде хорошо и он вполне нормально работает?
Ничего, — скажет новичок, и будет в корне не прав. Товарищ! А ты давно проверял метатэги, роботс, сайтмап? А?! Что?! Всё ж нормально в прошлый раз… было? Ну-ну…
На самом деле, сервер где лежит твой сайт, это почти живая вещица, на которой, порой мистическим образом, что-то появляется, а что-то совсем даже наоборот, исчезает.
Вот пример простой, захожу сегодня на один из моих сайтов, проверить как себя sitemap.xml чувствует. Глядь, ан вместо него сообщение об ошибке.
А это, скажу я тебе, довольно-таки… фигово. Поисковые роботы могут обидеться и уйти, обозвав владельца сайта рукозадым неудачником.
Как думаешь, стоит ли сайт рукозадого неудачника того, чтобы рекомендовать его другим пользователям? А если подобных сайтов вагон и большущая тележка? Вот то-то и оно.
Жму Ctrl-U и вывожу исходный код страницы с ошибкой. Вот кусочек, который находится в самом начале. В нём и притаилась ошибка.
Казалось бы, ну подумаешь три пустых строчки вначале. Проблема XML-формата (а на самом деле наша с вами) в том, что браузеры (и не только) очень критичны к ошибкам в синтаксите таких файлов. Вот положено ему начинаться с открывающего тэга <?xml, значит вынь да предъяви. И даже если будут всего-лишь пустые строчки впереди, файл объявляется непригодным к службе.
Почему это случилось со мной?
Откуда же те три пустые строчки взялись на нашу голову? Вариантов масса. Например, обновился какой-нибудь плагин или тема, а там накосячено малость, и вот тебе здрасссти приехали. Еще бывает сайт взломали, фигни всякой навнедряли, вот оно и аукнулось таким странным образом.
Потому, самой первой рекомендацией везде пишут: вырубать плагины (можно все разом, можно по очереди) и смотреть исчезнет ошибка или нет. Еще можно временно переключиться на новую тему оформления. Если ошибка исчезла, значит дело в теме.
В моём же случае всё вообще просто. Дело в том, что я люблю добавлять всякие разные функции и возможности к шаблону (теме) сайта. Вносятся они, как правило, в файл functions.php Вот в нём и нужно искать нестыковки.
Что делать и куда бежать?
Итак, если ты тоже время от времени вносишь всякие финтифлюшки в шаблон, открывай functions.php и ищи открывающие и закрывающие тэги языка PHP.
Смотри картинку. Видишь? Между закрывающим и открывающим тэгами имеются пустые строки! Это то самое!
Просто файл функций обрабатывается вместе с любой страницей сайта, включая сайтмап. Вот эти строки и выходят нам боком.
Убираем их!
Сохраняем functions.php на сервере.
Обновляем sitemap.xml и смотрим.
Всё работает. И дело не в том, как исправить ошибку синтаксического анализа XML в нашем сайтмапе, дело в принципе! Проверять надо! Всё проверять! Всегда! А потом, через некоторое время, проверять снова. Только так! Делайте выводы, господа.
Приветствую всех друзей и читателей – Sozdaiblog.ru!
Сегодня Вы узнаете, как грубым, но эффективным способом починить в WordPress RSS ленту и избавиться от надоедливой ошибки синтаксического анализа XML.
Я уверен, что многие из Вас при нажатии на оранжево-полосатую кнопку ни один раз наблюдали следующую картину:
К сожалению, я тоже сталкивался с этим чудным багом.
В то время из-за своей неопытности мне пришлось полдня провисеть в Интернете, бегая от сайта к сайту, дабы найти лекарство от этой заразы.
По себе знаю, что когда в Интернете целенаправленно пытаешься найти необходимую информацию, то хрена лысого она попадается. Будешь сутками лазить в поисках решения, пока со злости не бросишь это занятие.
Но, я то парень упёртый и на одном из сайтов всё-таки разыскал своеобразный «бычий способ», но реально работающий.
Итак.
Уничтожение ошибки синтаксического анализа XML.
Чтобы исправить ошибку синтаксического анализа XML, нужно немного поковыряться в ядре движка.
В корневой папке Вашего сайта необходимо найти каталог «wp-includes». В этом каталоге нам потребуется подкорректировать следующие файлы:
1. feed-atom-comments.php
2. feed-atom.php
3. feed-rdf.php
4. feed-rss.php
5. feed-rss2-comments.php
6. feed-rss2.php
В первых двух файлах нужно удалить всё, что находится до блока:
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="<?php bloginfo_rss( 'language' ); ?>" xmlns:thr="http://purl.org/syndication/thread/1.0" <?php do_action('atom_ns'); do_action('atom_comments_ns'); ?> >
В третьем до:
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" <?php do_action('rdf_ns'); ?> >
У четвёртого отсекаем все строчки до:
<rss version="0.92">
А у пятого и шестого до:
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" <?php do_action('rss2_ns'); do_action('rss2_comments_ns'); ?> >
Обязательно проверьте все шесть файлов на наличие пустых строк. Они не должны присутствовать ни в одном документе.
Закончив все действия, не забудьте сохраниться.
Спустя некоторое время Ваша RSS лента чудесным образом заработает.
Единственная загвоздка в том, что при обновлении WordPress придётся пройти эту процедуру заново. На самом деле это просто и займёт 5—10 минут Вашего времени.
Если у Вас есть другие решения этой проблемы, буду очень рад увидеть их в комментариях.
На сегодня это всё. До скорых встреч…
С уважением, Денис Черников!
Мудр тот, кто знает не многое, а нужное (Эсхил).
Существует такое обилие учебников по WordPress, обучающих фрагментов кода доступны в интернете. Все они предназначены для пользователей, чтобы попробовать новые фишки на их сайт и узнать больше о WordPress. К сожалению, маленькая ошибка может привести к поломке сайта, которые очень неприятны, особенно для новых пользователей. Если вы пытались добавить что-то новое на вашем WordPress сайте и получили следующую ошибку “Syntax error, unexpected…”, то не паникуйте. Вы не первый, у кого появляется ошибка синтаксиса в WordPress, и Вы не будете последним. В этой статье мы покажем вам, как исправить непредвиденные ошибки синтаксиса в WordPress.
Используйте правильный Синтаксис, чтобы избежать ошибок
Первое, что вам нужно сделать, это посмотреть руководство для начинающих при вставки фрагментов из Интернета в WordPress. В этой статье перечислены некоторые очень распространенные ошибки новичков при вставке кода в шаблонах WordPress. Синтаксическая ошибка обычно возникает маленькая, но принципиальная ошибка в вашем синтаксисе кода. Отсутствует запятая или лишняя фигурная скобка, которые могут сломать весь сценарий.
Вы недавно вставили фрагмент из интернета? Обновлен плагин? Тогда есть шанс, что вы точно знаете, где искать.
Фиксация синтаксической ошибке с помощью протокола FTP
В целях исправления ошибки вам необходимо отредактировать код, который вызвал эту ошибку. Вы можете либо удалить его или исправить синтаксис. Часто начинающие волнуются, потому что в результате этой ошибки весь сайт стали недоступными. Если вы вставили код через админ панель WordPress внешний вид » редактор раздела, то вы заблокированы. Так как вы отредактируете код? Посмотрите нашу статью по решению проблемы блокировки админа. Единственный способ исправить, это открыть файл, который вы последний раз редактировали, так это по протоколу FTP (как пользоваться FTP).
После установки FTP-программы, подключите его в ваш веб-сайт и перейдите к файлу темы, который хотите отредактировать. В случае, если вы забыли, какой файл нужно редактировать, просто посмотрите на код ошибки. Ошибки обычно скажет вам точно, какой файл и какие строки нужно изменить.
Вы можете либо удалить код, который вы последний раз добавили или записать код в правильный синтаксис. После завершения удаления / редактирования код, сохраните файл и загрузите его обратно на сервер. Перейдите на свой сайт WordPress и обновите страницу, и ваш сайт будет работать.
Мы надеемся, что эта статья помогла вам исправить Синтаксическую ошибку в WordPress.
Пожалуйста, оставляйте свои вопросы и отзывы в комментариях.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.