ГлавнаяНовостиЧто нового в WordPress 4.2 «Пауэлл»

Что нового в WordPress 4.2 «Пауэлл»

Релиз WordPress под версией 4.2 полностью изменяет инструмент Press This для работы с контентом, добавляет поддержку смайликов Emoji, упрощает работу с плагинами и темами, а разработчики получают несколько полезных возможностей.

Press This

Букмарклет Press This в WordPress 4.2

Букмарклет Press This в WordPress 4.2

Букмарклет Press This превратился из небольшого окошка с редактором в более удобный инструмент для создания записей и набросков больше похожий на отдельное приложение для браузера. Добавив его в закладки можно в один клик сохранять интересный контент с других сайтов в черновики или сразу поделиться материалом с читателями вашего блога, опубликовав запись.

Смайлики 👍

Поддержка Emoji в WordPress 4.2

Поддержка Emoji в WordPress 4.2

Сочиняя очередной пост теперь можно использовать широкий набор Emoji в тексте, заголовке и даже адресе записи. Смайлики Emoji включают в себя несколько сотен символов, документированных в Юникоде, которые в настоящее время поддерживаются многими платформами (iOS, OS X, Adnroid). Если ваша система не поддерживает Emoji, можно использовать сайты с таблицами смайликов, например, Get Emoji, копируя их оттуда.

В WordPress используется библиотека Twemoji от компании Twitter. Смайлики векторные, а значит будут хорошо выглядеть на экранах любых размеров.

По умолчанию, все пользователи будут видеть свои системные Emoji, но если текущий браузер не поддерживает их (например, Chrome на OS X), то WordPress автоматически заменит «черные квадратики» на символы из Twemoji.

Для сохранения Emoji-символов необходима поддержка кодировки utf8mb4 MySQL-сервером, версия MySQL не ниже 5.5.3 (или MariaDB 10.x) и текущая кодировка сайта — utf8. В случае всего вышеописанного WordPress автоматически переведет базу данных в кодировку utf8mb4 во время обновления.

Будьте внимательны с плагинами, которые создают дополнительные таблицы в базе данных. Их кодировка не изменится автоматически. Несмотря на полную совместимость utf8mb4 и utf8, рекомендуем сделать резервную копию базы данных перед обновлением.

Управление темами

Управление темами в конфигураторе 4.2

Управление темами в конфигураторе 4.2

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

Плагины

Обновление плагинов в WordPress 4.2

Обновление плагинов в WordPress 4.2

Процесс обновления плагинов стал более комфортным и похожим на обновления приложений. Нажав кнопку «Обновить» можно выполнить обновление, не покидая страницу со списком плагинов, причем сделать это можно даже со страницы установки и поиска новых плагинов.

Обновления для разработчиков

Появился новый метод wp.a11y.speak() для повышения доступности интерфейсов людям с ограниченными возможностями. Он позволяет сообщать браузеру о том, что «происходит» на веб-странице.

Для оповещений на административных страницах можно добавлять новые классы .notice и .is-dismissible, увидев которые, WordPress добавит небольшой крестик, позволяющий скрывать уведомление.

Скрываемые уведомления в WordPress 4.2

Скрываемые уведомления в WordPress 4.2

Для возможности сохранения смайликов (Emoji) в WordPress добавлена поддержка кодировки utf8mb4. Ранее, установить WordPress в этой кодировке было достаточно проблематично из-за размеров индексов в базе данных (создание некоторых таблиц вызывало ошибки в MySQL в момент установки). Если ваши плагины создают дополнительные таблицы, поля или индексы в базе данных, рекомендуем проверить их работоспособность и совместимость с кодировкой utf8mb4.

Классы WP_Query, WP_Comment_Query и т. п. получили возможность выполнять сортировку по определенным мета-полям, например:

$query = new WP_Query( array(
    'post_type'  => 'product',
    'meta_query' => array(
        'post_color' => array(
            'key'     => 'color',
            'value'   => 'blue',
            'compare' => 'NOT LIKE',
        ),
    ),
    'orderby' => 'post_color',
) );

Параметр autoload теперь можно изменять для уже существующих опций с помощью update_option().

Другие изменения

Как и всегда, произошло множество других более мелких изменений, которых выдалось более 600. Например, в цветовой схеме по умолчанию цвета стали более гармоничными — дизайнеры отказались от полностью черных цветов и оттенков.

Изменения в цветовой схеме по умолчанию

Изменения в цветовой схеме по умолчанию

Появилась поддержка вставок с сайтов Kickstarter и Tumblr. Улучшена верстка административных страниц и их работа на мобильных устройствах. Модальное окно для медиафайлов не позволяет использовать только пробелы в качестве подписей к изображениям. Обновлены некоторые встроенные библиотеки (включая TinyMCE, jQuery UI и MediaElement.js). Улучшена гибкость элементов, выводимых comment_form().

Кодировка utf8mb4 позволяет сохранять не только Emoji, но и китайские, японские, корейские, музыкальные и математические символы, а также иероглифы.

Видеорелиз WordPress 4.2

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

В разработке WordPress 4.2 приняло участие более 280 человек. Список всех изменений можно посмотреть в баг-трэкере WordPress.

Обновиться до версии 4.2 можно через панель администрирования в разделе Консоль → Обновления, скачав свежий дистрибутив с сайта WordPress.org или с помощью команды wp core update в WP CLI. Перед обновлением не забудьте сделать резервную копию.

Подписаться на рассылку

Подписаться → Подпишитесь на бесплатную рассылку журнала WP Magazine и получайте новости, события, подборки тем и плагинов, уроки, советы и многое другое в мире WordPress!

  • artem zaytsev

    Ура!!!

  • Иван

    Как отключить Emoji чтобы использовать стандартные смайлики??? На всех страницах вместо моих смайликов появились эти эмоции, а местами и вовсе квадраты черные! SOS!

  • Dima

    Добрый день, после обновления не могу обновить плагины, дело в том, что при каждом обновлении чего либо, в админке надо вводить ФТП и пароль, все это работало до обновления 4.2, сейчас он думает и ничего не обновляет. Можете подсказать как быть? Или как вручную обновить плагины?
    Заранее Спасибо.

    • versusbassz

      Попробуйте добавить параметры ftp-подключения к сайту в wp-config.php
      https://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

    • Интересно, возможно этот сценарий разработчики не учли. В любом случае, если ядро спрашивает данные FTP при обновлении или установки плагинов, это значит, что на сервере неверно настроены права. При правильной конфигурации, WordPress может обновлять свои файлы, плагины и темы напрямую, не используя протокол FTP. Эту проблему можно решить с вашим хостинг-провайдером.

    • Не самый удобный способ для обновлений конечно с этим ФТП. Можно попробовать с помощью плагина Core Control (модуль Filesystem) посмотреть доступные транспорты и возможно переключить на другой (не факт, что заработает). Немного подробнее про плагин было в статье https://wpmag.ru/2015/wordpress-developer-tools/

  • Иван

    Я его тоже уже гуглил) Он не работает!

  • Не забываем просмотреть логи ошибок после обновления. С новой кодировкой могут быть проблемы. Я включал себе utf8mb4 где-то год назад, когда она еще не поддерживалась ядром. Было много проблем.

    И не забывайте что бекапы теперь надо делать в utf8mb4! Пхп май админ по умолчанию бекапит в utf8, а значит вы потеряете часть символов при таком бекапе. :)

    • +1. Основная проблема возникает с длинной индексов. Для перевода таблиц в utf8mb4 нужно уместить индексы в 767 байтов, или 191 символ. Для таблиц ядра WordPress это делается на уровне рутины обновления базы данных, а вот для собственных таблиц нужно будет делать это руками:

      ALTER TABLE foo DROP INDEX bar, ADD INDEX bar(bar(191) );
      ALTER TABLE foo CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

      • Для тех, кто сам себе администратор и хочет большие индексы, есть возможность их оставить после некоторых настроек MySQL-сервера и базы данных. Потребуется Engine — InnoDB (MyISAM прийдется забыть) и следующие настройки:

        * Default storage Engine = InnoDB (ну, выше уже сказал)
        * File format = Barracuda
        * InnoDB Large Prefix = TRUE

        Также для всех табличек нужно выставлять ROW_FORMAT = DYNAMIC, по умолчанию для InnoDB ставится всегда COMPACT. И после этого индексы смогут быть размером до 3072 (вроде как).

  • На wordpress.com что-то пока Press This не обновился, хотя по цветам админки видно, что обновление было какое-то.

    • Да, они в этот раз немного с опозданием выкатывают обновление ядра…

  • Денис

    Впервые за несколько лет пришлось откатить новую версию WordPress до старой. Причина — Emoji. Зачем нужно было это внедрять для всех пользователей по-умолчанию? Это довольно специфичная функция! Хочу старые смайлы!

    Дайте возможность выбирать в настройках — использовать смайлики или Emoji. После обновления все мои смайлики частично заменились на Emoji, частично вместо них черные квадраты — это выглядит ужасно!

    Раньше я добавлял в ряд все смайлики под формой комментирования, чтобы комментаторы вставляли их в форму отправки комментария, теперь это не удается сделать! Прежние имена файлов в пути до картинки ломаются, заменяя название файла на Emoji и ссылка вызывает 404 ошибку.

    Я предлагаю удалить Emoji из ядра WordPress и добавить их в виде плагина, например довавить еще один модуль в Jetpack.

    • Ниже в комментариях я как раз оставил ссылку на плагин, который возвращает старые смайлики. У меня получилось их вернуть и все заработало как и прежде на тестовом сайте.

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

      • Денис

        Восстанавливал из архива файлы и БД, поэтому проблем не должно возникнуть) Посмотрю что за плагин, спасибо!

  • versusbassz

    посмотрел код этих плагинов, они немного похожи :)

    • В целом да. Пачка с удалением событий и фильтров одинаковая, но в плагине, который я показал, есть еще некий фильтр smilies_src — отдает путь до смайликов. А также задается массив wpsmiliestrans. Я не разбирался как оно там работает со смайликами, но один плагин действительно работает, а другой нет.

  • flextron

    Наконец то обновили и сделали по нормальному

  • Юрик

    Подскажите, — как в новой версии редактировать фото-галерею. Может я чего-то не заметил?! До обновления, после нажатия на созданную галерею появлялось два значка — «изменить» и «удалить», сейчас их нету.

    • Проверил только что — у меня они на месте. Стоит попробовать обновить страницу, например. Если не поможет, открыть консоль в браузере и посмотреть есть ли там JavaScript-ошибки.

  • Юрик

    При установке перелинковки вместо указали alt-текста предлагается указать текст ссылки (смысл ее указывать, если при её установке я выделяю нужный текст)…

    Ребята, подскажите пожалуйста, это только у меня такое (возможно что-то не так «дообновилось») или это такое усовершенствование у всех?!

  • Сергей

    Здравствуйте. В моей развернутой на хостинге версии 4.2 не полный перевод англ. на русский. При нажатии при корректировке Записей на кнопку ОБНОВИТЬ пишет — сафари не может найти страницу. Спасибо.

    • А что именно не переведено? :) если браузер (сафари) не может найти страницу означает, что какие-то проблемы с сайтом или подключением к интернету.

  • Лично у меня во всех блогах в визуальном редакторе перестали работать сочетания Ctrl+1, Ctrl+2 и т.д. для назначения тексту стиля заголовка. Теперь браузер переключает вкладки.

    • Guest

      Вот тикет об этом в баг-трекере WP
      https://core.trac.wordpress.org/ticket/32132#comment:5

      tl,dr: поменяли комбинацию клавиш для более лучшего UX, какие клавиши теперь см. по ссылке

    • Попробуйте Ctrl+Alt+1 (OS X) или Alt+Shift+1 (Windows). См. #29558.

  • cheh

    Здравствуйте.

    WordPress 4.2.1 + IE (9-11) в консоле браузера ошибка:

    SCRIPT5007: Unable to get property ‘childNodes’ of undefined or null reference
    wp-emoji-release.min.js, line 2 character 172

    • Подробнее в #32109.

      • cheh

        Стоит ожидать минорного обновления ядра?

        • Конечно. Здесь отмечено все, что на данный момент отмечено для версии 4.2.2.

  • versusbassz

    Подскажите, пожалуйста, в случае если WP при обновлении на 4.2 не поменял кодировку таблиц по какой-либо причине (например, mysql 5.1). Если потом сервер будет донастроен до нужных требований, то WP будет как-то автоматически пытаться поменять кодировку в будущем, например при обновлении на 4.3 или 4.2.2? Или после 4.2 только руками это делать?

    • Судя по всему при каждом обновлении будет проверка, и если окружение вдруг стало поддерживать utf8mb4, то при обновлении базы данных произойдет конвертация.

    • Функция для обновления на версию 4.2 содержит вызов maybe_convert_table_to_utf8mb4(), которая как раз и пробует обновить на utf8mb4. Так что можно воспользоваться ей для обновления в ручком режиме. Правда она не меняет размер индексов. Где они меняются что-то сходу не нашел.

      https://github.com/WordPress/WordPress/blob/44b56d9393ecaf229468fd71f2493a1c85d22939/wp-admin/includes/upgrade.php#L1693

      • В pre_schema_upgrade() и upgrade_network() в wp-admin/includes/upgrade.php

  • Julia Fruktenbein

    добрый вечер!
    после обновления перестала приходить рассылка с блога. в чем проблема?