Разработка сайта «СтройОптТорг»
Предыстория
Описание этапов работы
Сложности, с которыми я столкнулся, и как я их решал:
Одной из задач было создание раздела Галереи для возможности выложить кейсы реализованных проектов. При переходе в проекты должен выводится список изображений работ, при клике на изображение оно должно появляться во всплывающем окне, где присутствует возможность перелистывать изображения. Для реализации данной задачи, я выбрал библиотеку Fancybox. Так как вывод самой галереи осуществлялся через плагин ACF, то важно было правильно передать значения в функции и добавить некий атрибут ссылке, чтобы галерея могла перелистываться во всплывающем окне. Другой сложностью было то, что при клике на изображение оно открывалось в другом окне, что ломало всю суть задачи. Пришлось написать небольшой скрипт для реализации данной задачи
jQuery( document ).on( ‘focusin’, easy_fancybox_handler );
Следующей задачей было создать на странице категории каталога фильтр, который сортирует товары по атрибуту «толщина бруса». Сложность заключалась в том, что данный фильтр должен был работать отдельно от основного фильтра который размещен в боковой панели. Для решения проблемы я за основу взял метки, которые входят в базовый функционал товаров Woocommerce, добавил все необходимые значения и разнес их по товарам. Далее я приступил к написанию функции, которая делала проверку, принадлежит ли данная страница к категории или нет, так как на других страницах данная функция не была нужна.
Дальше важно было получить слаг выбранной категории:
$term = get_queried_object();
$product_category = $term->slug;
После того как получен нужный слаг, он передавался в привычную функцию цикла, где уже осуществляется вывод функции:
$query_args = array(
‘product_cat’ => $product_category,
‘post_type’ => ‘product’,
//Grabs ALL post
‘posts_per_page’ => -1
);
$query = new WP_Query ( $query_args );