Сниппеты

Простые участки кода, для частого использования и вставки в код сайтов.

Письма с WordPress и WooCommerce попадают в спам: настраиваем SMTP на Beget, Sprinthost и REG.RU

Письма с сайта уходят в спам? Разбираем причины, настраиваем SMTP на популярных РФ‑хостингах, правим DNS (SPF, DKIM, DMARC), даём готовый код и чек‑лист тестирования доставки.

llms.txt для сайтов на базе WordPress

llms.txt может помочь LLM нейросетям и чатботам лучше понять ваш контент и привлечь трафик. А может и нет. На сегодняшний день прямых доказательств реального поведения индексации мало, но если и когда эти файлы будут приняты, первопроходцы получат преимущество.

Как автоматически собирать ZIP-архив плагина WordPress при релизе на GitHub?

Когда вы разрабатываете плагин для WordPress и публикуете релизы на GitHub, удобно, чтобы архив плагина создавался автоматически — без ручной упаковки и загрузки. Это можно легко реализовать с помощью GitHub Actions. В этом посте разберём, как настроить простой workflow, который…

Разбираемся с API на WordPress: REST API JSON, WP AJAX

WordPress давно перестал быть просто блоговой платформой — сегодня это полноценный фреймворк для веб-приложений. Но вместе с этим у разработчиков возникает вопрос: какой способ лучше использовать для динамического обмена данными — старый WP AJAX или современный REST API? Давайте разберёмся.…

Ускоряем сайт через спекулятивную загрузку в WordPress 6.8

WordPress 6.8 представляет спекулятивную загрузку, которая может обеспечить практически мгновенное время загрузки страниц путем предварительной загрузки URL-адресов до того, как пользователь перейдет по ним.

Оптимизация скорости загрузки скриптов и стилей через стратегии async & defer в WordPress

async & defer — это очень полезные механики, которые позволяют существенно ускорить загрузку страниц, скриптов и стилей. Рассмотрим новые интерфейсы для внедрения этих стратегий в WordPress & WooCommerce.

robots.txt для WordPress — рабочий пример файла

Провел SEO-аудит сайта при помощи labrika.ru. Оказалось что много технических ошибок. Пришлось колдовать с файлом robots txt. Готового плагина для этих целей у меня нет. Потому пришлось решать вопрос программно.

Автоматический сброс кеша на стили (CSS), скрипты и картинки

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

Журналы (Logs) данных и ошибок в WooCommerce

Начиная с версии 2.7 в WooCommerce внедрили новый метод логирования данных и ошибок. Это удобно для отслеживания процессов в системе и диагностики проблем. Использование Идем в консоль сайта, далее раздел WooCommerce / Статус. Далее вкладка Журналы (Log). Выбираем нужный журнал.…

Отключаем сообщение «JQMIGRATE: Migrate is installed, version 3.3.2»

В WordPress по умолчанию активирован плагин jQuery.Migrate. Это нужно для совместимости со старыми компонентами. Но в 80% случаев в нем нет смысла. Зато он пишет в консоль свое сообщение и доставляет страдания внутреннему перфекционисту. Программное решение через код Либо добавить…

Смена структуры URL на сайте без потери трафика из поиска (SEO)

Попался сайт, на котором были ужасные URL с русскими символами что негативно сказывалось как на удобстве использования сайта, так и на SEO. Исходная ситуация Задача Конвертировать все ссылки в латиницу без потери SEO трафика. Решения: Сохранение трафика из поиска Вот…

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

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

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

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

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

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

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

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

Универсальные методы подключения файлов компонентов для тем и плагинов

В мире WP есть различные методы для получения путей к файлам без хардкода. Это важно, тк папки зависят от опций и могут меняться. Если путь к какому-либо файлу «захардкожен» — мы можем получить разные неожиданные ошибки. А далее каждый раз…

Используйте get_post() вместо global $post

Часто разработчики WordPress используют объявление глобальной переменной $post для доступа к данным текущего поста. Но разработчики ядра уже давно отказались от этой идеи и почти везде заменили ее на $post = get_post();

Поиск, обработка и замена текста между тегами на PHP

Сегодня возникла задача обработки уведомлений по шаблону с ключевыми словами. К примеру «Здравствуйте [[name]]!». Где name нужно заменить на имя пользователя в письме. Нашел статью… Сегодня я постараюсь объяснить как найти, обработать и заменить текст между тегами используя PHP функции.…

При обрезании текста выводятся кракозябры и знак вопроса

Часто встречается проблема при которой на сайте выводятся знаки вопроса или разные символы кракозяб при обрезании текста. Это происходит при использовании функции substr. Причина в том что эта функция нормально работает только с латиницей на англоязычных сайтах. Русский язык более…

Как добавить доп. ссылку для плагина в списке плагинов консоли?

Добавление ссылки на страницу настроек плагина, в списке плагинов консоли WordPress существенно повышает удобство. Делается достаточно просто. Берем хук фильтр plugin_action_links. Добавляем код в корневой файл плагина. Вот так: После этого ссылка должна появиться в списке у нашего плагина.

Как отфильтровать посты в WordPress по URL? (query_posts)

Год назад задался вопросом, а можно ли отфильтровать посты в WordPress по URL? Указать параметры запроса и получить результат. Мне сказали что можно делать запросы вида: /tag/a+b+c = отбор постов, которые соответствуют всем 3-м меткам /tag/a,b,c = отбор постов, которые…