Привет! Вы когда-нибудь пробовали научить рисовать плюшего медведя? На днях я стал свидетелем дочкиного мастер-класса по рисованию для медведей. Бьюсь об заклад, в какой-то момент я увидел смирение в глазах косолапово 🙈. Надеюсь, ваша неделя прошла также продуктивно 🙂. К новостям!
- Подписаться на рассылку в Telegram
- Контакт для связи: denis@denisco.pro
Обновления на wphub.space
На этой неделе на wphub.space вышло два материала:
- Как скрыть записи определённой рубрики на главной странице в WordPress
- Как отключить страницы вложений при обновлении до WordPress 6.4
Примечание для второго пункта. Сейчас полноценно работать не будет, в реализации нашли баг. Планируют исправить в 6.4.2. Можно подождать обновления или использовать плагин Disable Media Pages.
Пейдж-билдеры заполоняют
Тема Astra решила переименовать свой модуль Custom Layouts Pro в Page Builder и назвала это революцией. Можно будет настраивать шапку, подвал, страницу 404, страницу результатов поиска, блоки в записях и страницах и создавать свои шаблоны для страниц записей и архивов. Плюс доступна регулировка для разных экранов, устройств, ролей пользователей и времени отображения.
Попутно Elementor решил повысить цены для новых пользователей, ожидаемо получив кучу обеспокоенных комментариев от клиентов и едких замечаний от коллег по цеху. Прошлое повышение цен было 2,5 года назад.
Немного размышлений. Astra и Elementor — это популярные расширения, появившиеся до блочного редактора. Теперь Gutenberg в ядре и не планирует останавливать развитие. Но и сторонние пейд-билдеры не сдаются. Мэтт был излишне самоуверен, предложив всем глотать пыль в погоне за Gutenberg? Продолжаем вести наблюдение 🫡.
+ публикация про Elementor на wptavern.com
Боремся с ошибкой 403
CodeinWP опубликовали руководство по исправлению ошибки 403. В моей практике такая ошибка чаще всего возникала при работе с сайтами на выделенных серверах из-за неверно настроенных прав или владельца файлов. Сайт работает под одним пользователем, админ развернул бекап под другим, а деплой с гитхаба вообще под третим 🤪. И в какой-то момент этот зоопарк приводит к тому, что либо сервер не может считать файл, либо WordPress не может подключить шаблон 🙈.
В руководстве предлагается целых 7 шагов на пути к разрешению ситуации:
- очистить кеш в браузере
- деактивировать плагины
- выключить CDN
- отключиться от VPN
- починить файл .htaccess
- исправить права доступа к файлам
- связатся с поддержкой хостинга
Но, честно говоря, я бы посоветовал начинать с последнего и сразу связаться с поддержкой вашего хостинга. Вы же всё-таки им деньги платите 🙂.
Распродажа и HPOS
Сразу два руководства по WooCommerce от Миши Рудрастых: Эмуляция категории Распродажа и обзор работы с High-Performance Order Storage.
С распродажей всё довольно просто: создаем пустую категорию Распродажа и при её открытии — принудительно выводим на экран товары со скидками. Причем сохраняются все удобства категории: сортировка, пагинация и т.д. Может быть полезно, когда хочется без лишней возни вывести раздел с акционными товарами в списке категорий магазина.
А вот с High-Performance Order Storage (он же HPOS) всё интереснее. Раньше он назывался Custom Order Tables, что, собственно, отражает суть этого изменения — использование специализированных таблиц для заказов вместо стандартной WordPress-схемы с wp_post
и wp_postmeta
.
Зачем отдельные таблицы? Всё во имя производительности. Помню как я создавал свой первый магазин на WooCommerce в 2013 году и это была боль. Нет, не так — БОЛЬ!!! Вот теперь больше похоже. Оно пыталось умереть просто от любого чиха: загрузил чуть больше товаров — тормоза, посмел сделать миниальную фильтрацию — сервер выходит из чата. Мне кажется, они даже значения атрибутов хранили в сериализованном виде в метаданных товаров. В общем, чтобы это хоть как-то работало — приходилось параллельно писать второй магазин 🙈.
Поэтому неудивительно, что когда Automattic купила WooCommerce в 2015 одной из ключевой тем был вопрос производительности. И вот спустя 8 лет WooCommerce с версии 8.2 официально перенес заказы в свои таблицы для новых установок. Для существующих сайтов предусмотрели возможность мигрировать данные галочкой в админке. С товарами подобная идея, похоже, не взлетела, и решили ограничиться дополнительными lookup-таблицами.
И не смотря на то, что WooCommerce по прежнему мемная тема в WordPress-сообществе — это уже не тот WooCoommerce, что был 10 лет назад. Теперь и атрибуты в виде таксономий и фильтровать более-менее можно и lookup-таблицы предоставляют данные в удобном виде и CRUD позволяет по-человечески работать с товарами и заказами как с сущностями, а не обновлять непонятные куски данных в непонятных местах.
Ох, что-то накатило. Мы же тут Мишино руководство обсуждали 😀. Хотя что его обсуждать: суть изменений наглядно показана, рекомендации по обновлению кода (с примерами!) даны + приведены некоторые неочевидные технические детали. Если вы не знакомы с HPOS — можете смело начать с Мишиного обзора, а затем уже переходить к документации.
P.S. Я тут проверил, Миша попал почти во все выпуски рассылки в этом месяце. Хотите быть как Миша? Посмотрите его выступление по теме.
WooCommerce переходит на блоки
При установке WooCommerce создает несколько служебных страниц типа Корзина, Оформление заказа и т.д. и вставляет туда соответствующие шорткоды. Вернее вставляла. Новая версия 8.3 вставляет вместо шорткодов блоки. Выглядит это примерно вот так:
И сейчас самое время сделать пу-пу-пу, так как во-первых у клиента появился ещё один способ сломать себе сайт и не просто сломать, а навернуть процесс покупки, что обычно довольная важная часть в интернет-магазинах 🙃.
Во-вторых, как теперь накатывать релизы. Аналогичный вопрос есть к блочным темам, которые сохраняют верстку в базе данных вместо файлов. Но с ними всё ещё можно использовать старый проверенный метод: не создаешь блочную тему — не имеешь дополнительного головняка. Вариант с шорткодами вроде как всё ещё работает, но камон.
Ну и третье. Это, конечно, уже вкусовщина, но разработка мышкой — это такое себе 😀 (привет фанатам Elementor 😘). Взял кусок кода — вставил, работает. Пока найдешь нужную настройку в интерфейсе, которую переименовали, переместили, добавили 10 новых — забыл уже зачем зашёл. А может такой настройки и нет вовсе — получается зря искал 🤷. Но это всё лирика и старость. Скоро все будем в блоках. Мэтт плохого не посоветует.
Увеличиваем объем памяти с managewp
Managewp.com выпустили подробное руководство на случай если вы столкнетесь с ошибкой нехватки оперативной памяти — Allowed memory size exhausted.
И здесь есть где развернуться. Мне кажется, они реально перечислили все способы увеличить память и снабдили их пошаговыми инструкциями: wp-config.php, .htaccess, php.ini, ini_set, .user.ini. Наверняка, можно что-то ещё хитрое придумать, но мне кажется и так на любой вкус и цвет.
Также можно связаться с поддержкой хостинга в случае возникновения подобных проблем. Возможно, увеличение памяти доступно прямо из панели управления хостингом.
#Одной строкой
- В обзоре на WordPress 6.4 я упоминал про добавление HTML-процессора. Mika Epstein опубликовала пример работы с ним с фрагментами кода и всеми делами. Возможно, пригодится.
- Также, хочу порекомендовать вам раздел историй про ревью плагинов на сайте Мики. Недавно как раз вышла очередная. Мика больше 10 лет занималась анализом и оценкой плагинов в каталоге WordPress. По сути, она была тем человеком, кто решал будет ли ваш плагин размещен в каталоге плагинов WordPress или нет. Ей точно есть что рассказать.
- В блоге wp-rocket.me, как и положено плагину для ускорения сайта — опубликовали руководство по ускорению сайта 🙂. Советы довольно общие, поэтому вы наверняка встречали что-то подобное, если изучали вопрос оптимизации сайта. Но помимо стандартного для подобных статей «покупайте наш плагин и будет все хорошо», приведены и альтернативные способы решения. Поэтому это достойно упоминания одной строкой 🙂.
- Введение в роли пользователей от codeinwp. Если никогда не сталкивались — можно ознакомиться, чтобы иметь базовое представление.
#НЕФормат
- Pods‘у неожиданно 15 лет (!). В честь этого события разработчик плагина опубликовал статью с воспоминаниями о былых временах и рассказом о том, чем живет плагин сейчас. Почитайте, даже если никогда не пользовались, получилось душевно.
- И в продолжение темы воспоминаний. С сайта wptavern.com ушла Sarah Gooding. За 10 лет она успела опубликовать более 3000 статей. Вы наверняка встречали ссылки на некоторые из них в выпусках рассылки 😉. На прощание она составила свой топ-10 публикаций — можно вспомнить о былом.
- hookorder.com — необычный сервис, на котором можно посмотреть интерактивную цепочку вызовов хуков для разных страниц в WordPress. Не знаю на сколько это применимо в работе, но для общего развития выглядит полезным (спасибо WordPress Digest за наводку).
#НЕWordPress
- Неплохое сравнение и анализ работы на фрилансе и в штате от собрата-ВордПрессника. Попав в хорошую команду, действительно, можно хорошо бустануть свою квалификацию, но как же дух авантюризма и разгильдяйства? 😀
- Yoast решил выдать базу по низкочастотным запросам и привязке к локации в поиске. Ну и, конечно, какой Google молодец 🙃.
***
Утепляйте своего обнимательного гуся к холодам и увидимся на следующей неделе! 🙌
За новыми выпусками рассылки можно следить в Телеграм, Вконтакте и Дзен.
Все вопросы, предложения и замечания присылайте на denis@denisco.pro.