正因为如此,在一个大的购物网站有这么多的产品,大部分的时间,这表明相比于主要产品无关的相关产品。
我不完全同意这个说法。如果“Ascis Gel Cumulus 15 Men Black”和“Ascis Gel Domain 15 Men Black”都属于Asics类别,将与其相关。他们可以将Gel Cumulus和Gel Domain作为子类别或标签。我不知道,但它让我感到如果你有效地分类和标记事物,你会得到更好的相关产品。我想你也可以用下面的建议添加自定义属性。
这就是说,我相信可以调整相关产品的查询方式。然而,这不是一个简单的技巧,因为我不擅长SQL,因此我只能提供部分答案。如果你看一下single-product/related.php
模板,你会看到
$related = $product->get_related($posts_per_page);
,你可以跟踪get_related()
函数返回产品类 abstract-wc-product.php
。
查看get_related()
它设置了一个高级的SQL查询,但您可以通过woocommerce_product_related_posts_query
筛选器筛选查询子句。
add_filter('woocommerce_product_related_posts_query'. so_26246618_product_related_posts_query', 10, 2);
function so_26246618_product_related_posts_query($query, $product){
global $wpdb;
$query['join'] = // write a new join clause;
$query['where'] = // write a new where clause
return $query;
}
或可选,如果woocommerce_product_related_posts_relate_by_category
过滤器是真的,查询将涉及产品按产品类别。同样,如果woocommerce_product_related_posts_relate_by_tag
过滤器设置为true,则查询将通过标签关联产品。这两个默认设置为true。你可以同时禁用它们,但是我不知道除了编写自己的自定义SQL之外,你会做的不仅仅是查询最新的产品。