12 Августа вышло в свет очередное крупное обновление WordPress, а именно версия 5.5! Что нам несёт очередное программное действо от разработчиков? Посмотрим поближе…
Конечно же, внесены изменения, или лучше сказать, поправки в Безопасность: автоматические обновления плагинов и тем (шаблонов).
Если есть желание поближе разузнать о новой версии WordPress 5.5, о различных изменениях, происходящих в ядре с этим основным релизом, то это возможно сделать, проследовав по ссылке в блог core development, которую дам чуть ниже.
- Важные изменения безопасности в WordPress 5.5
- автообновления плагинов и тем update_plugins и update_themes (безопасность)
- Новая функция: wp_is_auto_update_enabled_for_type ()
- как отключить автоматические (автообновления) плагинов и шаблона
- страница плагинов (столбец автообновление): один сайт и мультисайт
- страница автообновления для шаблонов сайта в новом Вордпресс
- страница автообновления для шаблонов сайта – мультисайт
- как включить или отключить автоматические обновления
Одно из прошлых важных обновлений: WordPress 5.0 – добавлен визуальный редактор Gutenberg.
Что нового в WordPress 5.6.
В обновлении WordPress 5.5 в ядро (по умолчанию) теперь добавлена WordPress 5.5 wp-sitemap.xml XML-карта сайта. Сторонние плагины для генерации XML-Карты сайта теперь не нужны!
Важные изменения безопасности в WordPress 5.5
Вряд ли будет оправдано в этой статье полное описание обновлений WordPress 5.5. кому это интересно, конечно же логичнее обратится к соответствующей странице в wordpress.org.
Меня, как разработчика, интересует, скажем так, динамика поправок в коде ядра Вордпресс. А поэтому коснусь обновлений безопасности для Плагинов и Тем (шаблонов). В 5.5 релизе добавлено автоматическое обновление плагинов и шаблонов.
Вкратце помимо прочего в свежем обновлении WP ожидается следующее:
а) прикручены семь обновлений компонента Customize (настроек темы) добавлено новая атрибутика настроек отображения логотипа. Невесть что, но всё же…
аа) виджеты немного модернизируют…
б) Редактор блоков продолжает развиваться и в WordPress 5.5. Его новая версия 8.5 ( Гутенберг в комплекте с WordPress 5.5);
Если кто помнит, то уже отлетело 10 выпусков вместе с будущим (версии 7.6 , 7.7 , 7.8 , 7.9 , 8.0 , 8.1 , 8.2 , 8.3 , 8.4 и 8.5 )!
Исправлены некоторые ошибки, по приемуществу производительности – от версий Gutenberg 8.6 до 8.7.
Об этом можно почитать в посте об WordPress 5.5 Beta 1, где рассказано много интересного! ссылки по тексту…
…а также возможно ознакомится с информацией по API.
в) всего около 7-ми обновлений безопасности…
с) 36 обновлений API REST
д) изменения параметров в схеме JSON, теперь запросто обнаруживаются ссылки на ресурсы REST, изменения CORS – добавили новую register_theme_feature()
функцию, что примечательно, с её аргументами…
е) компоненты Media содержат около 26 обновлений: модуль с отложенной загрузкой сведён с ядром, который теперь видит изображения с отложенной загрузкой по умолчанию!
ё-моё)) …и многое-многое другое…
Начинающим разработчикам, которым не терпится поподробнее разузнать о новой версии WordPress 5.5, по этому переходу возможно остудить желание познаний WordPress 5.5 – англ. язык.
автообновления плагинов и тем update_plugins и update_themes (безопасность)
Новый интерфейс (с инструментами автообновления плагинов и тем) будет выглядеть примерно так, как на картинке ниже:
Кнопка: Еnabled auto_updates
Как предполагают разработчики cms, новые возможности позволят администраторам веб-сайтов поддерживать свои площадки в постоянно актуальном состоянии, что в свою очередь обеспечит безопасность с наименьшими затратами времени/усилий.
Новая функция: wp_is_auto_update_enabled_for_type ()
Функция указывает, включены ли автообновления для конкретного типа: варианты theme
и plugin
.
// Check if auto-updates are enabled for plugins.
$plugin_auto_updates_enabled = wp_is_auto_update_enabled_for_type( 'plugin' );
Примечание:
В старте обновления – по умолчанию автообновления плагинов и шаблонов отключены! Владельцы сайтов должны лично включить функцию: возможность переключаться с update_plugins
и update_themes
.
(языковые пакеты для плагинов и шаблонов всегда обновляются автоматически. И теперь останется по прежнему.
Для мультисайтов – такая возможность есть только у сетевых администраторов, и только в контексте панели мониторинга сети.
Для разработчиков плагинов и шаблонов WordPress включен ряд хуков:
новенькое почитать:
подборка основных условных тегов WP расписана здесь наиболее полная подборка, пояснения…
как найти и убрать циклические ссылки… работа с условными тегами.
Как правильно зарегистрировать JS файлы, подключение JS jQuery к своему шаблону, сайту.
Что правильнее использовать — add_action или функцию — function…
Обзор: специализированного сервиса
Если мы запускаем интернет магазин, то весьма не лишне воспользоваться сервисом объективного рейтинга хостингов
, на котором возможно прямо на странице ознакомится и сравнить многие имеющиеся хостинги рунета и не только рунета.
Когда и как правильно создавать дочернюю тему шаблона сайта – подробная инструкция…
большинство пользователей достаточно невнимательно относятся к вопросу создания дочерней темы (и напрасно!!), а по истечению времени приходится здорово перенастраивать сайт…
как отключить автоматические (автообновления) плагинов и шаблона
По требованию возможно отключить новые возможности, возвращая false
к plugins_auto_update_enabled
и themes_auto_update_enabled
– соответственно, посредством фильтров функции вывода ссылки/кнопки в админпанели будут отключены.
По умолчанию кнпока будет показана ( true
).
Примечание.
Это не включает и не отключает автообновления. Он контролирует, показывать ли элементы пользовательского интерфейса.
Следующий фрагмент отключит элементы пользовательского интерфейса автообновления плагина и темы :
// Disable plugins auto-update UI elements.
add_filter( 'plugins_auto_update_enabled', '__return_false' );
// Disable themes auto-update UI elements.
add_filter( 'themes_auto_update_enabled', '__return_false' );
страница плагинов (столбец автообновление): один сайт и мультисайт
При помощи plugin_auto_update_setting_html
фильтра можно (тавтология)) фильтровать содержимое столбца автообновления – ссылки переключения и время следующего момента обновления.
Например, предположим, некий плагин имеет функционал предотвращения управлением автообновлениями. Мы знаем, что его путь относительно каталога плагинов по типу my-plugin/my-plugin.php
.
Имеем два дополнительных параметра:
$plugin_file – путь к основному файлу плагина относительно каталога плагинов.
$plugin_data – массив данных плагина.
Пример данный ниже, изменит, скажем так, правила и то, что отображается в столбце автообновления для конкретно этого плагина:
function myplugin_auto_update_setting_html( $html, $plugin_file, $plugin_data ) {
if ( 'my-plugin/my-plugin.php' === $plugin_file ) {
$html = __( 'Auto-updates are not available for this plugin.', 'my-plugin' );
}
return $html;
}
add_filter( 'plugin_auto_update_setting_html', 'myplugin_auto_update_setting_html', 10, 3 );
итогом будет примерно так:
подробнее make.wordpress.org.
страница автообновления для шаблонов сайта в новом Вордпресс
Фильтрация автоматически обновляемого содержимого HTML (на странице) для шаблонов немного сложнее, поскольку задействован JavaScript.
Однако, можно подключиться, используя фильтр theme_auto_update_setting_template
и тем самым изменить и возвратить переменную$template
(индивидуальный шаблон рендеринга /окошка/, для каждого шаблона на странице “Темы”).
Примечание.
Ввиду того, что этот Js-шаблон используется отдельно для каждой темы на странице, рекомендуется использовать проверку – (условный оператор для конкретной же) темы. ЭК примеру, использовать параметр data.id JS (он содержит слаг темы).
Заменим текстовое уведомление автообновления содержимого для тем my-theme и стандартной WP темы twentytwenty:
function myplugin_auto_update_setting_template( $template ) {
$text = __( 'Auto-updates are not available for this theme.', 'my-plugin' );
return "<# if ( [ 'my-theme', 'twentytwenty' ].includes( data.id ) ) { #>
<p>$text</p>
<# } else { #>
$template
<# } #>";
}
add_filter( 'theme_auto_update_setting_template', 'myplugin_auto_update_setting_template' );
страница автообновления для шаблонов сайта – мультисайт
два дополнительных параметра:
$stylesheet
: имя каталога темы (или слаг).
$theme
: полный WP_Theme объект.
Например, вы хотите запретить автообновления для темы Twenty Twenty.
Корректировать то, что отображается в столбце “автообновления” для конкретной темы можно так:
function myplugin_theme_auto_update_setting_html( $html, $stylesheet, $theme ) {
if ( 'twentytwenty' === $stylesheet ) {
$html = __( 'Auto-updates are not available for this theme.', 'my-plugin' );
}
return $html;
}
add_filter( 'theme_auto_update_setting_html', 'myplugin_theme_auto_update_setting_html', 10, 3 );
как включить или отключить автоматические обновления
Если мы хотим включить для всех плагинов/шаблонов (на будущее), то работаем с auto_update_plugin
либо auto_update_theme
фильтрами.
// Enable all plugin auto-updates.
add_filter( 'auto_update_plugin', '__return_true' );
// Enable all theme auto-updates.
add_filter( 'auto_update_theme', '__return_true' );
На этом у меня на сегодня всё…
mihalica.ru !