Один из последних проектов был на WordPress + Woocommerce + достаточно много изменений по функционалу магазина, поэтому досконально ознакомился с хуками (hooks) и действиями (actions) в wordpress. В Woocommerce достаточно много шаблонов строятся именно на хуках, где уже подключатся функции с формированием шаблона. В итоге, это вносит некоторые сложности, когда необходимо узнать — какие функции подписаны на тот или иной хук. WordPress хранит в глобальной переменной хуки и функции, подписанные на них, достаточно только прописать обертку для извлечения нужных данных.


WordPress позволяет гибко настраивать шаблоны для определенных страниц, постов, рубрик. Достаточно создать файлы category-{slug}.php или single-{slug}.php и задать индивидуальный шаблон. Но что делать, если у нам необходимо создать определенный шаблон для подкатегорий определенной категории? Скажем, у нас есть «Новости» и подкатегории «Акции», «Новинки» и т.д. и мы бы хотели, чтобы для этих подкатегорий задать определенный шаблон? В этом нам и помогут WordPress hooks.


WordPress дает возможность задать количество выводимых постов на странице для всего сайта. Однако, иногда необходимо для некоторых категорий изменить этот параметр. Решение достаточно простое и не требует каких-либо плагинов, все реализуется через hooks.


Не так давно столкнулся с проблемой, когда ОС RedHat не смогла корректно работать из-за повреждения системных библиотек, поэтому было решено загрузиться с LiveCD и сделать подмену эти библиотек. В системе используется LVM. При загрузке образа Centos LiveCD — локальные диски не примонтировались, но проблема была легко решена несколькими командами.


Делая сайт с адаптивным дизайном, столкнулся со следующей проблемой — на небольших экранах слова переносились не очень красиво. В поисках решений есть множество вариантов, но подразумевают либо ручную правку текста и вставкой спецсимвола мягкого переноса «­» или использование css свойства hyphens, за счет которого используются возможности браузеров для переноса строк, но оно поддерживается не всеми браузерами. Решение было найдено в виде простого плагина, описание которого в статье.