Связка WordPress + WooCommerce + WooCommerce Composite Products по идеи способна существенно расширить функционал и удобство для интернет-магазина на базе Вордпресс. Однако, столкнувшись с проблемой корректировки становится понятно, что, к сожалению, WordPress малопригоден для такой задачи. Да, при должных навыках создать именно то, что нужно получится, однако сил будет потрачено гораздо больше, чем при работе с более приспособленными для этого движками. На данной странице я буду рассказывать о том, как получилось решить ту или иную проблему.
Зачем нужен плагин WooCommerce Composite Products
Очень большим открытием для меня стало то, что в связке WordPress + WooCommerce очень многое попросту недоступно. Взять к примеру задачу с выбором дополнительных опций к товару (скажем с зеркалом ли шкаф или без зеркала, а может быть даже с двойным зеркалом, плюс цвет черный будет подороже остальных, плюс количество полок разное и т.д.). Создавать отдельный товар для каждой такой опции не целесообразно. И тут оказывается, что в WooCommerce попросту нет инструментов для реализации такой простой задачи. Можно создать вариативный товар, но это явно из другой оперы и проблему явно не решит.
Какой выход? На форумах мне сразу отписали, мол нанимай программиста… Однако я не сдавался и нашел где-то упоминание о плагине WooCommerce Composite Products, который как раз данную задачу и создан решать. Плагин оказался платным и довольно дорогим, но могу точно сказать, что найти бесплатную версию можно, хотя и придется привыкать к постоянной просьбе обновиться.
Изменение полоджения в WooCommerce Composite Products
Однако оказалось, что стандартный настроенный шаблон на странице товара плагина WooCommerce, плагин WooCommerce Composite Products меняет под себя из-за чего настроить его и вообще понять в коде где кто очень не легко.
Зачем что-то менять? А дело в том, что в стандартном своем исполнении результат деятельности WordPress + WooCommerce + WooCommerce Composite Products выглядит мягко говоря отвратительно. Спасло бы положение изменения формы выбора вариации товара, но найти откуда ноги растут не так-то просто.
Оказывается за эту форму отвечает woocommerce_template_single_add_to_cart. И в итоге если в functions.php темы прописать :
remove_action(‘woocommerce_single_product_summary’, ‘woocommerce_template_single_add_to_cart’, 30);
add_action(‘woocommerce_after_single_product_summary’, ‘woocommerce_template_single_add_to_cart’, 100);
то форма переедет вниз и будет выглядеть более-менее сносно.