Отладка кода через бэктрейс — debug_backtrace()

Отладка кода через бэктрейс — debug_backtrace()

Возникла ситуация, при которой метод get_term вызывался 20 000 раз. Причем даже на чистой установке WP. Базовая причина была ясна — у нас было 60 постов на странице и у каждого поста около 1000 категорий. Что конечно не очень правильно, но имели то что имели....
3 подхода к программированию классов в WordPress

3 подхода к программированию классов в WordPress

В WordPress можно встретить множество стилей программирования. Это огромный мир, который вмещает в себя разные стили и подходы. Но если изучать ядро и качественные плагины, то можно обнаружить 3 базовых подхода к программированию классов. Классический класс 🙂 Это...
Вывод типа поста Продукт в топ поиска на Сайте

Вывод типа поста Продукт в топ поиска на Сайте

Возникла задача выводить вверх поиска продукты из WooCommerce. Чтобы они были выше чем посты в блоге. Проблема — часто заходишь на сайт, чтобы найти какой-то продукт в каталоге. Но поиск постоянно сверху выдавал посты из блога с похожими словами. А хочется чтобы...
Сниппет для быстрой настройки заданий по расписанию — wp_cron

Сниппет для быстрой настройки заданий по расписанию — wp_cron

При решении задач автоматизации процессов на сайте часто бывает нужно настроить wp_cron. До сих пор каждый раз вставлял функции wp_cron внутрь соответствующих классов. Но надоело 🙂 Думаю это лучше делать как подключаемый класс в форме сниппета. Скопировал, сделал...
Как изменить ссылку логотипа на странице входа WordPress? (wp login)

Как изменить ссылку логотипа на странице входа WordPress? (wp login)

Иногда бывает нужно изменить ссылку у логотипа на странице входа WordPress. По умолчанию она ведет на официальный сайт WordPress. Эту задачу можно решить плагинами стилизации или кодом (программно). Плагины раз Loginstyle два Uber Login Logo Без плагина Можно добавить...
Создание эндпоинта и хак сброса пермалинков

Создание эндпоинта и хак сброса пермалинков

В последнее время все чаще сталкиваюсь с задачами где нужно применять ендпоинты в WordPress. Например через ендпоинты собран раздел личного кабинета WooCommerce (My Account). Все подразделы личного кабинета — это ендпоинты. Хотя выглядит как подстраницы. Также...
Как добавить CSS классы ко всем пунктам меню?

Как добавить CSS классы ко всем пунктам меню?

Меню в WordPress делается через функцию wp_nav_menu(). Иногда нужно не трогая чужой код, изменить набор классов используя свою механику. Для этого можно использовать хук nav_menu_css_class, мы можем добавить свои CSS классы, если соблюдается нужное нам условие....