Я использую тему, которая не очень хорошо дружит с Gutenberg. При этом мне нужно делать на нем лендинги и хотелось […]
Сниппеты
Простые участки кода, для частого использования и вставки в код сайтов.
module & nomodule — загрузка JavaScript для современных браузеров и поддержка старых
Рассмотрим паттерн module/nomodule, который позволяет разделить загрузку скриптов для старых и новых браузеров.
async & defer в WordPress — ускоряем загрузку JavaScript
async & defer — это очень полезные механики, которые позволяют существенно ускорить загрузку страниц и их отрисовку для посетителей. Однако […]
robots.txt для WordPress — рабочий пример файла
Провел SEO-аудит сайта при помощи labrika.ru. Оказалось что много технических ошибок. Пришлось колдовать с файлом robots txt. Готового плагина для этих целей у меня нет. Потому пришлось решать вопрос программно.
Протокол REST API JSON в WordPress
Чуть более года назад в WordPress появился родной REST JSON API, разработанный с учетом лучших практик обмена данными и создания AJAX запросов. В основном это нужно для AJAX и ускорения работы сайта, но еще это круто работает для интеграций и обмена данными с другими системами. Кривые AJAX-запросы Большинство программистов в WordPress превратно понимают суть и…
Автоматический сброс кеша на стили (CSS), скрипты и картинки
Частая проблема в разработке это сброс кеша после изменение стилей, скриптов, картинок. Вы изменили что-то, у вас на компьютере это […]
Журналы (Logs) данных и ошибок в WooCommerce
Начиная с версии 2.7 в WooCommerce внедрили новый метод логирования данных и ошибок. Это удобно для отслеживания процессов в системе […]
Отключаем сообщение «JQMIGRATE: Migrate is installed, version 3.3.2»
В WordPress по умолчанию активирован плагин jQuery.Migrate. Это нужно для совместимости со старыми компонентами. Но в 80% случаев в нем […]
Смена структуры URL на сайте без потери трафика из поиска (SEO)
Попался сайт, на котором были ужасные URL с русскими символами что негативно сказывалось как на удобстве использования сайта, так и […]
Отладка кода через бэктрейс — debug_backtrace()
Возникла ситуация, при которой метод get_term вызывался 20 000 раз. Причем даже на чистой установке WP. Базовая причина была ясна […]
3 подхода к программированию классов в WordPress
В WordPress можно встретить множество стилей программирования. Это огромный мир, который вмещает в себя разные стили и подходы.
Вывод типа поста Продукт в топ поиска на Сайте
Возникла задача выводить вверх поиска продукты из WooCommerce. Чтобы они были выше чем посты в блоге. Проблема — часто заходишь […]
Сниппет для быстрой настройки заданий по расписанию — wp_cron
При решении задач автоматизации процессов на сайте часто бывает нужно настроить wp_cron. До сих пор каждый раз вставлял функции wp_cron […]
Как изменить ссылку логотипа на странице входа WordPress? (wp login)
Иногда бывает нужно изменить ссылку у логотипа на странице входа WordPress. По умолчанию она ведет на официальный сайт WordPress. Эту […]
Автоматическая генерация логина пользователя при регистрации
Иногда нужно сделать регистрацию на сайте только по email. Без указания логина. Для этого пригодится сниппет функции которая возвращает логин […]
Создание эндпоинта и хак сброса пермалинков
В последнее время все чаще сталкиваюсь с задачами где нужно применять ендпоинты в WordPress. Например через ендпоинты собран раздел личного […]
Как разрешить загрузку zip файлов?
Бывает нужно разрешить загрузку zip файлов или других расширений. Для этого в WP есть хук-фильтр upload_mimes Код можно вставить в […]
Как добавить CSS классы ко всем пунктам меню?
Меню в WordPress делается через функцию wp_nav_menu(). Иногда нужно не трогая чужой код, изменить набор классов используя свою механику. Для […]
Универсальные методы подключения файлов компонентов для тем и плагинов
В мире WP есть различные методы для получения путей к файлам без хардкода. Это важно, тк папки зависят от опций […]
Как получить путь до файла в ядре WordPress?
Бывает нужно получить прямой доступ к файлам ядра WordPress. Для этих целей есть метод get_home_path() Но он часто вызывает ошибку: […]
Получаем и обрабатываем данные в формате JSON
Часто при интеграции сайтов на WordPress, нужно получать данные из других систем посредством RESTfull интерфейса в формате JSON. Простейший пример […]
Сниппеты для загрузки файлов из фронта WordPress + секретная естественная функция
ссылка https://premium.wpmudev.org/blog/upload-file-functions/ очень полезная статья (повтор ссылки)
Добавить скрипт/стиль в плагин/тему WordPress
Просто добавление скриптов или стилей в шапку или подвал сайта — это плохо. Могут быть конфликты с другими компонентами где […]
Как вывести рекламу после определенного абзаца в посте или на странице
Размещение рекламы в самом эффективном месте поста или страницы является нетривиальной задачей. Как показывает практика, самая эффективная реклама, которую замечают, […]
Контрастный шрифт с тенями для пестрого фона
Часто бывает нужно разместить текст на фоне пестрой картинки. При этом читаемость текста может сильно ухудшиться. Для этого пригодится CSS-стиль […]
Как изменить заголовок (title) страницы в WordPress 4.4?
При обновлении WordPress до 4.4. сломался механизм изменения заголовков. Оказалось что в новой версии логика изменения title изменилась. Пришлось переписать […]
Очищаем номер телефона от лишних символов с помощью PHP
Возникла задача прочистить номера телефонов, которые были во многом забиты со словами и буквами. Так чтобы остались только числа. Нашел […]
301 редирект в htaccess для изменения домена сайта с переносом трафика и показателей
Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC] RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} ^site\.com RewriteRule ^(.*)$ http://site.org/$1 [R=301,L] RewriteCond […]
Используйте get_post() вместо global $post
Часто разработчики WordPress используют объявление глобальной переменной $post для доступа к данным текущего поста. Но разработчики ядра уже давно отказались от […]
Поиск, обработка и замена текста между тегами на PHP
Сегодня возникла задача обработки уведомлений по шаблону с ключевыми словами. К примеру «Здравствуйте [[name]]!». Где name нужно заменить на имя […]
Скрытый журнал ошибок в WordPress (WP_DEBUG)
Бывает нужно включить логи WordPress, чтобы понять что происходит с сайтом. Определить проблемы и причины ошибок. Для этого есть переменная WP_DEBUG […]
При обрезании текста выводятся кракозябры и знак вопроса
Часто встречается проблема при которой на сайте выводятся знаки вопроса или разные символы кракозяб при обрезании текста. Это происходит при […]
Как установить свою cookie WordPress?
Задача На сайте было два основных раздела: Для персон и Для бизнеса. А также общие разделы «Блог», «О компании» и […]