wordpress-4.6 Релиз новой версии WordPress 4.6 состоялся 16 августа 2016 года. Рассмотрим подробнее основные изменения и нововведения. Условно разделим обновление на 2 части — внешние, видимые конечному пользователю и внутренние, которые более интересны разработчикам. Стоит отметить что большинство изменений в версии WordPress 4.6 касается именно внутренней части.

Внешние изменения в WordPress 4.6

  • Системный шрифт в админке. Это, вероятно, первое что вы заметите. Было решено отказаться от шрифта Open Sans в админке в пользу нативных системных шрифтов вашей операционной системы. Соответственно чуть более быстрая загрузка. Все остальные шрифты в других частях сайта, в том числе текстовом редакторе, будут все так же зависеть от настроек вашей активной темы.
  • Плавные обновления. После объединения с ядром WP плагина Shiny Updates процесс добавления, обновления и поиска плагинов будет проходить более плавно, с минимумом перезагрузок страницы и отсутствием лишней детализации процесса. Поиск новых плагинов и среди установленных теперь работает через AJAX и сразу реагирует на изменение в поисковом поле. Аналогичным образом работает поиск по темам.
  • Улучшения в редакторе. Первое касается улучшения работы функции автосохранения. Используются как средства движка, так и самого браузера для восстановления последней копии более надежным способом. Вторым изменением в редакторе является подсветка неправильных ссылок (отдающих код 4хх). WordPress будет отправлять запросы при добавлении ссылок и проверять код ответа, помогая таким образом избежать ошибок при копировании/вставке ссылок в редактор

Внутренние изменения в WordPress 4.6

  • Классы для мультисайтов. Проведена работу по поднятию производительности и улучшения API мультисайтов. Новые классы для работы: WP_Site_Query и WP_Network_Query. Функция wp_get_sites() теперь deprecated. Используйте новые функции get_site(), get_sites(), get_network(), get_networks().
  • Внешние запросы. Внедрена новая PHP библиотека (Requests for PHP — github.com/rmccue/Requests) для выполнения HTTP запросов. HTTP API WordPress теперь обладает поддержкой параллельных и асинхронных запросов.
  • WP_Term_Query. Новый класс для работы с терминами в помощь разработчику. Призван дополнить дополнить ряд существующих классов (WP_Query — для работы с постами, WP_Comment_Query — для работы с комментариями, WP_User_Query — для работы с пользователями). Функция get_terms() теперь является оберткой над новым классом WP_Term_Query. Обратная совместимость сохранена.
  • WP_Post_Type. Изменения внесены в глобальную переменную $wp_post_types. Теперь она содержит массив WP_Post_Type объектов. Для каждого зарегистрированного типа записи этот класс предоставляет методы для работы с таксономиями, мета, хуками, роутингом. Функции register_post_type() и get_post_type_object() теперь возвращают WP_Post_Type объект.
  • Создание виджетов. Функция для создания виджетов register_widget() теперь может принимать экземпляр подкласса WP_Widget. Это позволяет наследовать и создавать новые виджеты инъекцией в конструктор. Также можно создавать новые типы динамических виджетов, например, Недавние Посты для каждого типа записи (динамически).
  • Интернационализация. Переводы тем и плагинов, полученные через translate.wordpress.org теперь имеют больший приоритет, чем переводы, которые идут непосредственно с файлами темы/плагина. Со склонением окончаний количества комментарий призвана справиться новая функция get_comments_number_text().
  • Обновление внешних библиотек: Masonry 3.1.4 -> 3.3.2 imagesLoaded 3.1.4 -> 3.2.0 MediaElement.js 2.18.1 -> 2.22.0 TinyMCE 4.3.10 -> 4.4.1 Backbone.js 1.2.3 -> 1.3.3
  • Разные правки. Исправлена обработка UTF-8 email адресов, где содержатся не английские символы. Улучшена страница импорта в WordPress Importer (добавлено больше информации). Ранее при вставке изображения по ссылке атрибут alt оставался пустым, сейчас это исправили. Изменения в работе функции register_meta() принимает 3 параметра, вместо 4-х, стала более гибка и доработана для совместимости с будущим REST API. Объектный кеш для комментариев теперь постоянный.

Всего обновление до WordPress 4.6 содержит более чем 280 пофиксеных багов, 125 улучшений. Эта версия не содержит подвижек по внедрению REST API. Работа в этом направление видимо будет видна уже в следующей версии.

WordPress 4.6.1 — исправлены 2 уязвимости и 15 багов

WordPress 4.6.1 содержит важные обновления безопасности движка. Исправлены две уязвимости, связанные с безопасностью. Первая уязвимость – XSS – основана на использовании файловых имен изображений. Вторая уязвимость связана с обходом пути в загрузчике пакетов обновлений.

В дополнение к патчам безопасности в данном релизе также было исправлено 15 багов