我想在相关产品部分显示ID为64391的特定产品,但是以下代码对此无效。我想念什么吗?
add_filter( 'woocommerce_output_related_products_args','msrp_reconfigure_related_products_args', 20 );
public function msrp_reconfigure_related_products_args($args)
{
$args['posts_per_page'] = 5;
$args['columns'] = 5;
$args['post__in'] = array(64391);
return $args;
}
答案 0 :(得分:0)
您可以找到on the WC core source。过滤器挂钩woocommerce_output_related_products_args
通过wc-template-functions.php
文件触发,并传递给woocommerce_related_products
函数。因此,$args
参数不是数据库查询中使用的参数,并且您不能在其中使用post__in
键。
相反,要将特定产品添加到相关产品部分,可以使用woocommerce_related_products
过滤器,如下所示:
add_filter('woocommerce_related_products', 'add_related_products');
function add_related_products($related_product_ids)
{
// WC source code stores IDs as string in this array, so I did that too
$related_product_ids[] = '81';
return $related_product_ids;
}
经过测试,可以正常工作。
注意:该过滤器挂钩具有3个参数:$related_posts
,$product_id
和$args
。通过选中$product_id