Automattic инвестировали $4.6 млн в компанию New Vector

Automattic инвестировали $4.6 млн в New Vector, компанию, основанную создателями Matrix – открытого стандарта для реализации децентрализованной коммуникации с помощью сквозного (end-to-end) шифрования. Проект располагается по адресу Matrix.org – он имеет открытый код и предлагает HTTP API и SDK, что позволяет разработчикам создавать свои собственные клиенты сообщений на базе стандарта Matrix с открытой федерацией. Это …

ПодробнееAutomattic инвестировали $4.6 млн в компанию New Vector

Mission Ctrl: плагин для добавления блоков к странице консоли WordPress

Ник Хамзе не скрывает, что ему нравится система блоков WordPress. Он разработал несколько прикольных блоков, а также выпустил более практичные блоки под вывеской Sorta Brilliant. В своем последнем проекте Ник решил вынести блоки за пределы страницы редактирования постов. Mission Ctrl – плагин, который внедряет блоки на страницу консоли WordPress. Плагин позволяет разработчикам, пользователям, агентствам и …

ПодробнееMission Ctrl: плагин для добавления блоков к странице консоли WordPress

Laravel Livewire — SPA & Turbolinks (часть 4)

Продолжаем работу над игрой «Камень, ножницы, бумага». В этом эпизоде добавим игровое лобби, таким образом приложение будет состоять из двух экранов: лобби и непосредсвенно игра. Обработку роутов приложения сделаем с помощью Livewire, такм образом переходы между экранами будут осуществляться в без перезагрузки страницы в стиле Signle Page Application. Также научимся сохранять состояние игры в базу …

ПодробнееLaravel Livewire — SPA & Turbolinks (часть 4)

Компания Automattic запустила сервис сканирования на вредоносное ПО и уязвимости

Во вторник специалисты Automattic запустили Jetpack Scan, автоматизированный сервис сканирования на наличие вредоносных программ и уязвимостей. Этот сервис является платным. Это уже третий крупный аддон, выпущенный для Jetpack за последние месяцы. Jetpack Scan доступен по цене $7 в месяц или $70 за годовую подписку (с учетом скидки в 30%). Обычные цены составляют $10 и $100 …

ПодробнееКомпания Automattic запустила сервис сканирования на вредоносное ПО и уязвимости

Как показать весь объект через var_dump

Обложка к записи Как показать весь объект через var_dump

При активации расширения Xdebug в PHP он замеяет вывод встроенной функции var_dump на свой, при этом показывает не полный объект/массив, урезая уровень вложенности. Чтобы заставить var_dump показывать полный объект с нужной нам (или бесконечной) вложенностью, достаточно в конфиге php.ini в директиве [xdebug] прописать следующие настройки: ; в разумных пределах xdebug.var_display_max_depth = 10 xdebug.var_display_max_children = 256 …

ПодробнееКак показать весь объект через var_dump

Переход к стеку системных шрифтов в WordPress (как и зачем)

Я большой поклонник высокой производительности в сети. Однако я также считаю, что она не должна ставить под удар дизайн. Важно всегда соблюдать баланс. Еще в 2017 году я посетил блог GitHub и мне понравился их шрифт. Он был удобочитаемый. Я решил покопаться в свойствах в Chrome Devtools и увидел, что они используют стек системных шрифтов. …

ПодробнееПереход к стеку системных шрифтов в WordPress (как и зачем)

Как Automattic платит своим удаленным сотрудникам в разных географических регионах

Все больше и больше компаний сообщают своим сотрудникам о том, что они могут работать из любой удобной локации – даже когда пандемия закончится. Однако возникает вопрос, как все это будет оплачиваться. На прошлой неделе Марк Цукерберг, CEO Facebook, рассказал своим сотрудникам о том, что их оплата труда будет скорректирована, если они примут решение покинуть Bay …

ПодробнееКак Automattic платит своим удаленным сотрудникам в разных географических регионах

200 000 сайтов с WordPress-плагином PageLayer стали открыты для атак

Две уязвимости высокой степени опасности, обнаруженные в плагине PageLayer, позволяют злоумышленникам захватывать WordPress-сайты и удалять их контент. PageLayer – WordPress-плагин, имеющий более чем 200 тысяч активных установок. Главная цель плагина – помочь пользователям, не имеющим навыков разработчиков или дизайнеров, создавать веб-страницы в реальном времени через специальный редактор. Баги могут вести к захвату сайтов и их …

Подробнее200 000 сайтов с WordPress-плагином PageLayer стали открыты для атак

Модульное тестирование WordPress с помощью Brain Monkey

Кто еще не знаком с тестированием и модульным тестированием можете ознакомится: Автоматизация тестирования, Модульное тестирование с помощью PHPUnit. Тестирование тем и плагинов под WordPress имеет одну большую проблему — взаимодействие с ядром. Решить ее можно с помощью библиотек Brain-WP/BrainMonkey или 10up/WP_Mock. Как писать тесты с помощью 10up/WP_Mock вы можете прочитать в статье: Модульное тестирование WordPress (PHPUnit, WP_Mock), но …

ПодробнееМодульное тестирование WordPress с помощью Brain Monkey

Не за#буйте с вашей пагинацией!!!

Почему не работает пагинация? Один из самых популярных вопрос у разработчиков WordPress Так почему же? Для начала нужно разобраться с тем, на какой странице вы хотите вывести пагинацию. Существуют страницы постов (постов/страниц/кастомных типов постов(CPT)) или архивные страницы(архивные/терминов страницы и страница поиска). Пагинация на странице постов В целом пагинацию можно разбить на 3 небольших этапа: Делаем …

ПодробнееНе за#буйте с вашей пагинацией!!!

Как с помощью husky улучшить качество работы с Git?

Библиотека husky может предотвращать плохие git commit, git push и еще что-то) Установка husky npm install husky —save-dev В package.json добавим секцию scripts в которой создадим команду для проверки WPCS: { … «scripts»: { «cs»: «vendor/bin/phpcs —standard=WordPress .» }, … } Добавим саму библиотеку WPCS: composer require —dev wp-coding-standards/wpcs Добавим секцию husky в package.json: { … …

ПодробнееКак с помощью husky улучшить качество работы с Git?

Подмена встроенных php-функций

Часто при написании тестов необходимо протестировать внешнюю функцию или функцию, которая встроенная в php. Рассмотрим для примера сохранение метаполей для постов в WordPress: class Metabox { public function save( int $post_id ) { $nonce = filter_input( INPUT_POST, ‘_nonce’, FILTER_SANITIZE_STRING ); if ( ! wp_verify_nonce( $nonce, ‘very-secret-nonce’ ) ) { return; } $field = filter_input( INPUT_POST, …

ПодробнееПодмена встроенных php-функций

Тестирование абстрактных методов

Объект абстрактного класса мы не можем создать напрямую. Поэтому работать с ним будем через stub. Что такое stub можно прочитать в статье про Модульное тестирование. Пример абстрактного класса Abstract_Suit: abstract class Abstract_Suit { abstract public function abstract_method(); } Тестируем с помощью метода getMockForAbstractClass use PHPUnitFrameworkTestCase; class Test_Suit extends TestCase { public function test_abstract_class() { $stub …

ПодробнееТестирование абстрактных методов

Обзор шаблонов для создания плагинов WordPress

Если полистать сайт developer.wordpress.org то можно найти пост который называется  Best Practice (лучшие практики).
В этом посте меня заинтересовал последний пункт там говорится что вместо того чтобы начинать создание каждого нового плагина с нуля  можно воспользоваться заранее сделанными заготовкам и приведен их список.