Поддержка Обратная связь Не спешите ставить WP 4

  • Новый релиз содержит множество не документированных изменений, так например класс общего назначение WP_Error, его свойства $errors и $error_data (где собственно и хранятся коды ошибок и тексты сообщений) внезапно стали PRIVATE — то есть закрытыми для внешнего доступа. Кто не верит можете сравнить исходник версий /wp-includes/class-wp-error.php
    Вроде бы мелочь, но мой плагин (ads_wordpress) теперь работает неправильно — не может отобразить ошибки пользователя при вводе формы. По факту требуется полная переборка плагина. И я думаю не один такой, да и подлянка с WP_Error тоже не одна 🙂 подобных сюрпризов там еще много есть, так что, народ, терпение — советую дождаться хотя бы 4.1

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Новый релиз содержит множество не документированных изменений

    Все изменения с комментариями можно увидеть в багтрекере. Данное изменение было сделано 19 мая, с тех пор вышло четыре бета-версии и два релиз-кандидата. Тестировать свои плагины разработчикам рекомендуется именно в этот период, а не после финального релиза.

    так например класс общего назначение WP_Error, его свойства $errors и $error_data (где собственно и хранятся коды ошибок и тексты сообщений) внезапно стали PRIVATE — то есть закрытыми для внешнего доступа.

    Они никогда и не были предназначены для прямого доступа. Для этого есть методы get_error_code(), get_error_message(), get_error_data(). Тем не менее, для обратной совместимости был добавлен метод __get().

    Вроде бы мелочь, но мой плагин (ads_wordpress) теперь работает неправильно — не может отобразить ошибки пользователя при вводе формы.

    Почему в других плагинах, которые корректно работают с классом WP_Error, этой проблемы нет? Приведите пример кода, который работал в 3.9.2 и не работает в 4.0.

    ну так никто не предупреждал, что они станут приватными, вот я и работал с ними напрямую
    например определить есть ли в объекте какие-то ошибки вообще

    if(!sizeof($this->wp_error->errors))
    		return '';

    и кстати можно было бы в документации черкануть, что класс переделан http://codex.wordpress.org/Class_Reference/WP_Error тут вообще ни слова , бактрекер это хорошо но поди его там еще раскопай, легче уже исходники сравнить.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    ну так никто не предупреждал, что они станут приватными

    Если в классе есть методы для работы с внутренними переменными, стоит использовать именно их:

    if ( ! $this->wp_error || ! $this->wp_error->get_error_code() ) {
    	return '';

    и кстати можно было бы в документации черкануть, что класс переделан

    Вы правы, добавил замечание.

    Здравствуйте. Запустили сайт интернет магазина на WP 4.0. Все работало ок. Обновили до 4.0.1 все ок. Вчера обновили до 4.1 и тут возникла проблема. В магазине на перестали переключаться странички товаров, всегда показывает первую страничку. Вернули 4.0.1 все опять заработало.
    Может кто то подскажет в чем дело. Сайт dniprof.com.ua

    Модератору. Здравствуйте, вместо Вашего весьма странного замечания,
    лучше бы помогли разобраться с проблемой.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Вчера обновили до 4.1 и тут возникла проблема.

    Ваш вопрос никак не связан с исходной темой, в которой обсуждается совместимость плагина Ads WordPress с WP 4.0.

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

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Не спешите ставить WP 4» закрыта для новых ответов.