Posted inПлагины

Плагин форм для WordPress — HappyForms

Работаю с WordPress более 5 лет. И все это время боль доставляло отсутствие адекватных плагинов форм. Все что были — были либо аляповатыми, либо нарушали единство дизайна WordPress. И вот спустя 5 лет поиски увенчались успехом! Плагин HappyForms Особенности: Отличная поддержка единых стандартов оформления WordPress Поддерживает Gutenberg через группу Виджетов Удобный нативный конструктор Простая вставка […]

Posted inДругое

4 типа ООП

Скинули мне очередную статью, где у программиста подгарает зад на тему минусов ООП https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53 При этом автор пишет про классы и C++ говоря о том что ООП плохо. Что тут хорошего? Этот хотя бы осознал что чего-то в этом не так. Что тут плохого? Он критикует ООП на примере классов и C++, хотя создатель ООП Ален […]

Posted inКак сделать, Кейсы, Сниппеты

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

Возникла ситуация, при которой метод get_term вызывался 20 000 раз. Причем даже на чистой установке WP. Базовая причина была ясна — у нас было 60 постов на странице и у каждого поста около 1000 категорий. Что конечно не очень правильно, но имели то что имели. Как выяснить почему get_term() вызывается 20 000 раз? Просто поиском […]

Posted inКак сделать, Плагины

Поиск по артикулу товаров (продуктов) в WooCommerce

Часто возникает задача искать продукты (товары) по артикулу. Но WooCommerce не дает такой возможности. Есть плагин, который без настроек здорово решает эту задачу. Устанавливаем и активируем:

Posted inДругое, Как сделать, Сниппеты

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

В WordPress можно встретить множество стилей программирования. Это огромный мир, который вмещает в себя разные стили и подходы. Но если изучать ядро и качественные плагины, то можно обнаружить 3 базовых подхода к программированию классов. Классический класс 🙂 Это наиболее частый и понятный метод. Используется метод __construct() для создания экземпляра класса. Но он же наиболее проблемный из-за […]

Posted inКак сделать, Сниппеты

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

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

Posted inДругое

Шизокод и шизокодеры

Есть 3 проблемы кода, с которыми встречаешься в программировании: Хардкод, Говнокод и Шизокод. Давайте поговорим об этом. Хардкод Это известная всем проблема, когда программист из-за спешки или лени пишет код без учета переменных. Пожалуй самый частый случай — домен сайта. Он может меняться от окружения к окружению и часто доставляет массу хлопот. Тут все просто. […]

Posted inДругое

Хрупкость современных фреймворков

Сегодня в моде фреймворки с архитектурой типа MVC. Программисты в большинстве случаев гонятся за всем новым. Новыми версиями языков, новыми паттернами, новыми библиотеками, ну или новыми языками 🙂 Все это прикрывается благими намерениями: скорость, безопасность, эффективность.

Posted inВыбор редакции, Другое

WordPress — это просто?

Часто в разговорах можно услышать фразу «знающих программистов» о том что WordPress это просто, оно для школьников, чайников, домохозяек (нужное подчеркнуть). А вот «крутым программистам» на таком работать позор. В этих словах есть доля правды, как и целый пласт заблуждений 🙂 Давайте начнем с правды. WordPress отличается от других платформ тем что имеет двойственную природу. […]

Posted inДругое

Atom.io — удобная работа с редактирование кода на сайте в реальном времени по FTP

Atom — очень крутая среда редактирования кода от GitHub. Сайт https://atom.io/ Тут расскажу о редактировании кода на сайте в реальном времени. Есть 3 основных метода разработки сайтов: Редактирование сайта на живую (сайт работает и тут же идет разработка). Этот метод хорош для простых правок или если сайт не боевой. Создание тестовой копии сайта где-либо на внешнем хостинге […]