WooCommerce - создание шаблонов страниц товаров для разных категорий - Творческая студия #Cruelten
Блог
Делимся с Вами своими знаниями и новостями

#Cruelten » Блог » Web » WooCommerce — создание шаблонов страниц товаров для разных категорий

29.12.2018

WooCommerce — создание шаблонов страниц товаров для разных категорий

WooCommerce - создание шаблонов страниц товаров для разных категорий

Создание шаблонов страниц товаров для разных категорий в WooCommerce весьма востребованная задача для моих клиентов. Представьте, у Вас есть сайт на популярной системе управления сайтами WooCommerce, и Вы хотите, чтобы у различных категорий Ваших товаров по разному отображались товары. Как это сделать? На самом деле очень просто. И в этой статье мы поговорим об этом. Обратите внимание, данная инструкция для WooCoomerce версии 3.5.1

Итак, первым делом заходим в наш шаблон в папку woocommerce и находим там файл: content-single-product.php Данный файл отвечает за то, как будет выводиться наш товар по умолчанию. Следовательно, первое, что нам нужно создать, это второй такой же файл, но для той категории, которая нам нужна. Представьте, что мы интернет-магазин и у нас есть категория «Книги» и мы хотим, чтобы товары этой категории отображались как-то по-своему. Создаем файл:
content-single-product-books.php Обратите внимание, что я не добавил только название books в конце файла, все остальное надо оставить без изменений. Теперь в этот файл мы копируем все из файла content-single-product.php и меняем так, как нам угодно. Ибо данный файл будет у нас только для книг.

Теперь же у нас встает вопрос, как же теперь сделать так, чтобы система понимала, что перед ней книга, и надо выводить шаблон для книг, а если не книга, то шаблон по умолчанию. Для этого нам нужно найти файл, в котором надо прописать условие выбора шаблона. В нашем шаблоне ищем: single-product.php В данном файле ищем вот такую строку:

wc_get_template_part( 'content', 'single-product' );

И меняем ее на:

global $post;
 $terms = wp_get_post_terms( $post->ID, 'product_cat' );
 foreach ( $terms as $term ) $categories[] = $term->slug;
 if ( in_array( 'books', $categories ) ) {
  wc_get_template_part( 'content', 'single-product-books' );
 } else {
  wc_get_template_part( 'content', 'single-product' );
 } 

Обратите внимание на то, что в тексте я указываю наименование books. Это слаг Вашей категории, здесь может быть все, что угодно, например, services — если Вы назвали категорию Услуги именно таким слагом. Либо books, если книги. Ну и т.д. Также обратите внимание, что я указываю наименование файла шаблона для данной категории. Здесь также может быть любое наименование, которым Вы назовете свой файл. Собственно, и все! Если есть какие-то вопросы — задавайте. Будем решать проблемы вместе.

Метки:

Свяжитесь с нами уже сейчас

Вы привыкли видеть здесь форму обратной связи. Ведь так? Ее делают почти все. Но исследуя поведение людей, мы пришли к выводу, что форма совершенно не нужна. В любом случае все сводится к обсуждению Вашего проекта в WhatsApp или Telegram. А зачем нам тратить Ваше время на заполнение различных форм? Поэтому, пишите в Telegram или в WhatsApp.