WordPress 2.8.5 и 'Responsive Twenty Ten' - ошибка

20 окт. 2011 г., 00:12:06
Просмотры: 244
Голосов: 2

Согласно странице загрузки тем WordPress, тема 'Twenty Ten' и её дочерняя тема/плагин 'Responsive Twenty Ten' совместимы с версиями 2.8+.

На работе я вынужден использовать 2.8.5, и у меня нет объяснения почему - просто так сложилось.

Я вручную загрузил и плагин, и базовую тему - и был готов приступить к реализации графического макета, когда появилась ошибка:

Fatal error: Call to undefined function home_url() in /data/24/1/0/139/1815302/user/1967139/htdocs/wp-content/themes/twentyten 3/header.php on line 63

У кого-нибудь есть идеи, что вызывает эту ошибку и как её исправить?


Спасибо за ответ, Chip; но я немного запутался в твоих рекомендациях -

Ты советуешь мне редактировать header.php, но затем говоришь, что это создаст больше ошибок, значит это не вариант?

Но твоё последнее предложение кажется хорошей идеей; как мне откатить тему к старой версии? Ты предлагаешь сделать это в коде или есть место, где я могу скачать старую версию?

Редактирование: На странице загрузки WP для 'Responsive Child theme/plug in' указано, что он совместим с WordPress 2.8+ - базовая версия, которую я скачал, не указывала свою совместимость, так что вполне может быть обновлённой версией, несовместимой с 2.8 - хотя мне кажется, что я видел эту тему годами, так что надеюсь найти старую версию и запустить её с дочерней темой.

-удачи!

php
0
Все ответы на вопрос 2
1

Функция home_url() была реализована в WordPress начиная с версии 3.0.0, а вы используете версию 2.8.5.

Чтобы исправить эту ошибку, отредактируйте файл wp-content/themes/twentyten 3/header.php -

замените:

home_url();

на:

'http://'.$_SERVER["SERVER_NAME"]

Это временное решение, и боюсь, вы столкнётесь с подобными ошибками в будущем.

"Responsive Twenty Ten' совместим с 2.8+" - как видите, это не совсем так :)

Лучшим решением будет вернуть старую тему или установить последнюю версию WordPress.

РЕДАКТИРОВАНО

Лучше использовать get_bloginfo( 'url' ) вместо данных из $_SERVER.

20 окт. 2011 г. 00:41:14
Комментарии

Не используйте данные $_SERVER без экранирования!

Chip Bennett Chip Bennett
20 окт. 2011 г. 02:23:34
2

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

Решения:

  1. (самое простое и лучшее) Обновите WordPress с версии 2.8.5 до последней
  2. (всё ещё просто) Переключитесь на другую тему, совместимую с WordPress 2.8.5
  3. (сложнее, не рекомендуется) Исправьте несовместимости с WordPress 2.8.5 в текущей теме

Перенесённый ответ затрагивает последнее решение. Конкретная ошибка, которую вы получаете, связана с тем, что основная функция шаблона home_url() не определена в WordPress 2.8.5, так как она была введена в WordPress 3.0. Таким образом, вам придётся заменить вызов этой функции шаблона каким-то образом. Однако, вы можете столкнуться и с другими подобными несовместимостями, которые придётся исправлять аналогично.

Честно говоря, если вы не можете понять исходное сообщение об Критической ошибке, я не рекомендую пытаться исправить тему. Просто обновите WordPress или переключитесь на тему, совместимую с WordPress 2.8.5.

20 окт. 2011 г. 16:23:50
Комментарии

Спасибо; но я не могу обновить WordPress до последней версии на работе, поэтому у меня такие трудности. И я активно искал адаптивные темы для WP, совместимые с версией 2.8.

Lieutenant Dan Lieutenant Dan
20 окт. 2011 г. 17:41:01

@LouieLouie77 Вам будет очень сложно найти адаптивную тему, совместимую с версией 2.8. Версия 2.8.5 вышла в 2009 году, до того, как многие разработчики начали активно создавать адаптивные темы. Любые новые темы с нужными вам функциями, скорее всего, используют более новые API WordPress.

EAMann EAMann
20 окт. 2011 г. 19:31:56