В новой версии 2.2 плагина WOOF by Category, число активных инсталляций которого превысило одну тысячу, реализовано существенное улучшение быстродействия.

На клиентских сайтах с длинным списком категорий товаров происходило существенное замедление генерации страниц WooCommerce с фильтрами WOOF. Причина в том, что плагин WOOF запрашивает свои опции сотни раз за время генерации страницы. Эти вызовы обрабатываются WOOF by Category для обеспечения своей функциональности.

На сайте с 2,000 товаров и 70 категориями за время генерации страницы опции запрашивались 800 раз. Применённое в версии 2.2 плагина кеширование свело количество выполнений главной функции WOOF by Category до одного, а время генерации страницы на упомянутом выше сайте — с 4.5 до 1.5 секунд.


При переводе с помощью WPML пользовательских полей, созданных плагином ACF, возникает вопрос — как сделать все поля переводимыми? Обычно на сайте таких полей достаточно много (сотни — типичный пример) и кликать в настройках WPML сотни раз — довольно утомительная работа.

Ниже пример того, как это можно сделать с помощью кода.


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


Часто возникает вопрос — как посчитать число скачиваний файла и спрятать реальную ссылку на скачиваемый файл?

Для решения этой задачи надо сделать две вещи: перехватить клик на ссылку и отдать файл реальный пользователю средствами php.

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


В связи с выходом редактора Гутенберг, который получил название блочного редактора в WordPress 5.0, часто возникает вопрос — как программно определить, какой редактор используется в настоящее время для редактирования поста в консоли сайта?

Вариантов тут можеть быть несколько:

  • WordPress 4.9, плагин Гутенберг не активен
  • WordPress 4.9, плагин Гутенберг активен
  • WordPress 5.0, включен блочный редактор по умолчанию
  • WordPress 5.0, активен плагин Classic Editor
  • WordPress 5.0, активен плагин Classic Editor, но в консоли в «Настройки > Написание» выбрана опция «Использовать по умолчанию редактор блоков…»

Все указанные выше варианты могут обработаны следующим кодом:


Вышла новая версия 2.0.0 плагина WOOF by Category. Плагин теперь полностью совместим с WPML.

WOOF по Категориям — это расширение плагина WooCommerce Product Filter (WOOF), которое позволяет установить различные фильтры WOOF в различных категориях. Плагин имеет опции в консоли, чтобы установить соответствие между любой категорией товаров WooCommerce и любым набором фильтров WOOF. Только выбранные фильтры будут отображены на страницах выбранной категорий и ее подкатегорий.

В новой версии плагина настройки сохраняются для каждого языка WPML по отдельности. Это позволяет иметь разный набор пар пар «категория->фильтры» в разных языках, и работать с категориями, переведёнными с помощью WooCommerce Multilingual (этот плагин входит в состав WPML).


xDebug — отличный отладчик, но он существенно замедляет сайты. Во время разработки, желательно включать xDebug только тогда, когда он действительно нужен. Давайте посмотрим, как включить, отключить xDebug и установить режимы профилирования в среде разработки Laragon. Также увидим, как добавить кнопки этих действий на панель инструментов phpStorm.

Так будет выглядеть конечный результат (4 крайние кнопки справа).

Вначале давайте создадим командный файл для переключения xDebug. Предполагается, что мы работаем под Wondows 10 с установленной оболочкой Linux Bash. В некой папке, которая находится в PATH Windows, создадим два файла: xdebug.bat и xdebug.sh.


Наша компания получила новый статус: «Сертифицированный WPML контрактор». Это международная оценка качества наших веб-сайтов, выполненных на WordPress с использованием плагина интернационализации — WPML.

Согласно исследованию W3C, WordPress используется на 30% от всех веб-сайтов в сети Интернет. Многие из этих сайтов содержат контент на нескольких языках. Наиболее широко распространённым плагином мультиязычности является WPML, созданный и поддерживаемый OnTheGoSystems.

В январе 2018 года OnTheGoSystems создала клуб контракторов, куда вошли подтверждённые фирмой фрилансеры и компании, активно работающие с WPML. Сейчас в клубе состоят 189 подтверждённых контракторов.

В марте членам клуба было предложено пройти сертификацию. К настоящему моменту, на начало апреля 2018 года, вcего 5 контракторов прошли процесс сертификации, в том числе KAGG Design.


Анализаторы кода такие, как PHP Code Sniffer, и стандарты кодирования такие, как WordPress Coding Standards, позволяют создавать современный, легко обновляемый код, избежать множества ошибок еще на стадии написания кода, и совершенно незаменимы при командной работе над проектом. Эти средства встроены в phpStorm — мощную современную среду разработки под php.

В то же время, у многих разработчиков возникают сложности при установке анализатора кода PHP Code Sniffer и правил оформления кода WordPress Coding Standards для него в PhpStorm под Windows. Сведения об этом разбросаны по многим статьям в Сети.

Ниже мы сведем воедино эти знания и рассмотрим последовательность установки шаг за шагом.