Автозагрузка классов для WordPress

Если вы используете у себя в проектах сотни require или include, то вам точно стоит прочесть эту статью. Зачем нужна автозагрузка? Автозагрузка (autoload) нужна для того, чтобы навсегда избавится от require, include и постоянного изменения порядка их подключения. Рассмотрим два вариант autoload: composer spl_autoload Autoload своих классов через composer В файл composer.json нужно добавить директиву …

ПодробнееАвтозагрузка классов для WordPress

Автоматизиция тестирования

Тестирование —  проверка соответствия между реальным и ожидаемым поведением программы. При изменении вашего кода, вам необходимо проверить, как эти изменения повлияли на работу приложения. После этого вам нужно воспроизвести как можно больше различных случаев, как реальные пользователи будут пользоваться вашим приложением. Убедившись, что приложение работает, можно считать свою работу выполненой. Вроде как очень простой и …

ПодробнееАвтоматизиция тестирования

Модульное тестирование(Unit tests) с помощью PHPUnit

Зачем нужны тесты и какие виды тестов должен писать разработчик вы можете узнать здесь. Модульные тесты главным образом пишутся в качестве хорошей практики, помогающей разработчикам выявлять и исправлять баги, проводить рефакторинг кода и служить в качестве документации для тестируемого программного модуля (программы). Для достижения этих преимуществ модульные тесты в идеале должны охватывать все возможные пути …

ПодробнееМодульное тестирование(Unit tests) с помощью PHPUnit

Модульное тестирование WordPress (PHPUnit, WP_Mock)

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

ПодробнееМодульное тестирование WordPress (PHPUnit, WP_Mock)

Как тестировать Hard Dependencies в PHPUnit с помощью Mockery

Если у вас возникают вопросы: Что такое Hard Dependencies и почему это плохо? Вы можете прочитать в статье https://wp-punk.com/dependency-injection/. Внедрения зависимостей (Dependency Injection) один из основных принципов, которых нужно придерживаться для написание качественного кода. Но иногда мы сталкиваемся с проблемами, когда избежать зависимостей невозможно или же это занимает слишком много времени. Сложность заключается в том, …

ПодробнееКак тестировать Hard Dependencies в PHPUnit с помощью Mockery

Как тестировать константы?

Исходный код: class Constant { public function abspath() { return ABSPATH; } } Для тестирования необходимо немного изменить код. Константы необходимо получать через функцию constant: class Constant { public function abspath() { return constant( ‘ABSPATH’ ); } } Для тестирования используем библиотеку lucatume/function-mocker. Установим ее через composer: composer require lucatume/function-mocker В файле bootstrap.php инициализируем FunctionMocker: …

ПодробнееКак тестировать константы?

Бесплатное развертывание (деплой) сайтов на WordPress с помощью GitHub Actions

Continuous Delivery (CD), или непрерывное развертывание уже давно стало одним из золотых стандартном разработки и неотъемлемой частью схемы CI/CD. Принцип CI/CD означает, что вся работа над проектом ведется в системе контроля версий (git), код лежит в репозитории, а развертывание происходит автоматически по мере готовности. До недавнего времени эта последняя часть, а именно непосредственная отправка готового …

ПодробнееБесплатное развертывание (деплой) сайтов на WordPress с помощью GitHub Actions

checked() – сравнивает два значения и возвращает атрибут checked в случае их совпадения

Так как мы говорим об атрибуте checked=’checked’, то сразу можно понять, что функцию можно использовать как для чекбоксов, так и для радио-кнопок в формах. На мой взгляд – довольно удобная. checked( $checked, $current = true, $echo = true ) $checked Одно из значений для сравнения. $current Второе значение для сравнения, по умолчанию – true. echo …

Подробнееchecked() – сравнивает два значения и возвращает атрибут checked в случае их совпадения

Произвольные поля в меню

В этом уроке хочу познакомить вас с двумя новыми хуками, появившимися в WordPress 5.4, которые позволят вам добавить какой-нибудь текст или HTML в интерфейс редактирования элемента меню в админке и кастомайзере. А если можно добавить HTML, то можно добавить какие-то поля 🤔 Если вы не до конца разобрались с функционалом меню WordPress, то обязательно посмотрите …

ПодробнееПроизвольные поля в меню

11 лучших тем для WordPress Live Streaming 2020

Live Streaming – это живые потоковые сервисы, которые становятся востребованными источниками онлайн-развлечений для ТВ-шоу, фильмов и других потоковых медиа. Прямая трансляция видео полезна для различных контекстов, таких как продвижение услуг, онлайн-уроки, церковные службы, живые объявления, игровые матчи и другие события. Независимо от того, являетесь ли вы бизнесменом или творческим человеком, использование потокового вещания для мероприятия …

Подробнее11 лучших тем для WordPress Live Streaming 2020

15 Лучших шаблонов WordPress для сферы здравоохранения

Необходимость в медицине и врачах будет всегда, но способы продвижения услуг, связанных с лечением, постоянно меняются. Интернет – лучший способ заявить о себе. Но поскольку к вопросу, касающемуся здоровью, люди относятся осторожно, нужно создать солидный имидж и доверительные отношения. В этом помогут шаблоны Вордпресс для сферы здравоохранения – с их помощью нетрудно создать грамотный и …

Подробнее15 Лучших шаблонов WordPress для сферы здравоохранения

bbPress Can’t Count

bbPress Can't Count

In a highly-concurrent high-load environment bbPress will not count the topics and replies correctly. This happens due to several race conditions in the code. While not a critical vulnerability, it’s annoying. I wonder how the dotorg forums keep the numbers accurate? Maybe they don’t and nobody cares 🙂 but it’s something I’ve been very passionate …

ПодробнееbbPress Can’t Count