• ДОБРО ПОЖАЛОВАТЬ В КЛУБ ПО WORDPRESS

    Мы активно растущий клуб по WordPress и нам нужна помощь каждого человека, в том числе и Ваша! Не стесняйтесь и станьте частью большого сообщества.
    Мы делимся новостями, отытом и полезными советами! Пройдите простую регистрацию, чтобы пользоваться всеми возможностями нашего клуба.

    Присоединяйтесь к нам, вам обязательно понравится - Присоединится

Решено Как включить похожие товары

susha

ПРОВЕРЕННЫЙ

susha

ПРОВЕРЕННЫЙ
Сообщения
43
Скажите пожалуйста, как в Woocommerce включить похожие товары на страницах товаров?
 

Wildcdu

ЭКСПЕРТ

Wildcdu

ЭКСПЕРТ
Сообщения
1,120
Последнее редактирование:

Wildcdu

ЭКСПЕРТ

Wildcdu

ЭКСПЕРТ
Сообщения
1,120
Похожие товары реализованы не совсем грамотно: если добавлять товарам метки (присущие большинству товаров, например 33 класс у ламината), то похожие товары будут выводится практически одни и те же.
Исправляем данный недочет так: в нашей локализованной версии woocommerce находим файл /themes/current-theme/woocommerce/single-product/related.php и меняем строку
Код:
$related = $product->get_related( $posts_per_page );
на
Код:
$related = get_related_custom($product->id);
funсtions.php добавляем код
Код:
//New "Related Products" function for WooCommerce
function get_related_custom( $id, $limit = 5 ) {
global $woocommerce;

// Related products are found from category and tag
$tags_array = array(0);
$cats_array = array(0);

// Get tags
/*
$terms = wp_get_post_terms($id, 'product_tag');
foreach ( $terms as $term ) $tags_array[] = $term->term_id;
*/
// Get categories (removed by NerdyMind)

$terms = wp_get_post_terms($id, 'product_cat');
foreach ( $terms as $term ) $cats_array[] = $term->term_id;
// Don't bother if none are set
if ( sizeof($cats_array)==1 && sizeof($tags_array)==1 ) return array();

// Meta query
$meta_query = array();
$meta_query[] = $woocommerce->query->visibility_meta_query();
$meta_query[] = $woocommerce->query->stock_status_meta_query();

// Get the posts
$related_posts = get_posts( apply_filters('woocommerce_product_related_posts', array(
'orderby' => 'rand',
'posts_per_page' => $limit,
'post_type' => 'product',
'fields' => 'ids',
'meta_query' => $meta_query,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'product_cat',
'field' => 'id',
'terms' => $cats_array
),
array(
'taxonomy' => 'product_tag',
'field' => 'id',
'terms' => $tags_array
)
)
) ) );
$related_posts = array_diff( $related_posts, array( $id ));
return $related_posts;
}
add_action('init','get_related_custom');
 

Wildcdu

ЭКСПЕРТ

Wildcdu

ЭКСПЕРТ
Сообщения
1,120
В админ панели WooCommerce в секции информации о товаре находится вкладка “Linked Products (Связные товары)”. Товары делятся на три типа по связности: Up-Sells (товары для дополнительных продаж), Cross-Sells (товары в нагрузку), и с общими тегами или категориями
Up-sells — это товары, которые рекомендуются вместо текущего просматриваемого продукта, например, более выгодный/качественный/дорогой товар. В зависимости от шаблона сайта, эти товары будут находиться на странице продукта под описанием.
Cross-sells — товары, рекламируемые в корзине в довесок к текущему. В зависимости от шаблона, они находятся на странице корзины под таблицей с покупками.
Related products (сопутствующие товары) — это секция в некоторых шаблонах, которая показывает товары, имеющие те же теги или категории, что и текущий продукт.

Данные товары нельзя указать в админ панели, но их можно группировать при помощи категорий или тегов.

Видео на старый вариант настройки но в принципе актуален и сейчас
 

Wildcdu

ЭКСПЕРТ

Wildcdu

ЭКСПЕРТ
Сообщения
1,120
Изменить количество отображаемого сопутствующего товара
Код вносим в файл functions.php:
Код:
function woocommerce_output_related_products() {
woocommerce_related_products(4,4); // Показать 4 товара в 4 колонки
}
 
Сверху