2015-11-17 5 views
0

, когда я открываю свой веб-сайт в домашней странице я вижу только заголовок и эту ошибку:ошибка в Wordpress темы (formatting.php)

Catchable fatal error: Object of class WP_Error could not be converted to string in /home/mahooorc/public_html/wp-includes/formatting.php on line 3275

эта проблема является только на моей странице и другие ссылки ОК. я отключил все плагины, но он не отвечает! Линия 3275 является

$url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url); 

    function esc_url($url, $protocols = null, $_context = 'display') { 
    $original_url = $url; 
    if ('' == $url) 
     return $url; 
    $url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url); 

ответ

0

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

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

Метод 1

  1. Удалить элементы таксономии из меню
  2. Удалить все данные сессии, куки и т.д. ...

Метод 2

  1. Найти таблицу wp_term_taxonomy в базе данных
  2. Найти запись называется nav_menu
  3. Удалить эту запись

Метод 3

  1. Найти таблицу wp_terms в базе данных
  2. Посмотрите на различные сроки и решить, какие из них вам не нужны
  3. Исключить термин s Вам больше не нужна

Если ни одно из этих решений или комбинация решений не работают, сообщите мне об этом. У вас еще есть еще несколько вариантов, но они намного более разрушительны.

+0

tks i repair it – user3573285

0

Вместо получения ожидаемого $ URL, как в виде строки, функция esc_url() получить объект WP_Error.

Попробуйте добавить этот код перед неисправной строкой, чтобы узнать больше об ошибке: echo $ url-> get_error_message(); Он отобразит сообщение об ошибке, которое поможет вам понять, откуда оно взялось.

Не забудьте удалить эту добавленную строку после этого.

Люди, имеющие такую ​​же проблему, часто говорят о проблемах с кодированием. Вы используете специальную кодировку?

+0

Неустранимая ошибка: вызов функции-члена get_error_message() для не-объекта в /home/mahooorc/public_html/wp-includes/formatting.php в строке 3275 – user3573285

+0

my bad, эту функцию нужно вызывать более одного раза и только сбой один раз. попробуйте это: if (is_wp_error ($ url)) echo $ url-> get_error_message(); –

+0

Для меня это не имеет значения, но вы меняете основные файлы.Любое обновление Wordpress снова создаст одно и то же сообщение об ошибке. Я бы настоятельно советовал решить проблему в самом приложении, а не путем изменения основных файлов. – AgeDeO

Смежные вопросы