woocommerce\u输出\u相关产品\u args挂钩未按预期工作
我想在“相关产品”部分中显示id为64391的特定产品,但以下代码不适用于此。我错过什么了吗woocommerce\u输出\u相关产品\u args挂钩未按预期工作,woocommerce,hook-woocommerce,Woocommerce,Hook Woocommerce,我想在“相关产品”部分中显示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_p
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;
}
如你所见。过滤器挂钩woocommerce\u output\u related\u products\u args
通过wc template functions.php
文件触发,并将其返回传递给woocommerce\u related\u products
函数。因此,$args
参数不是db query中使用的args,您不能在其中使用post\u-in
键
相反,要将特定产品添加到“相关产品”部分,您可以使用woocommerce\u related\u 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\u posts
、$product\u id
和$args
。通过检查$product\u id
何时调用此筛选器,可以将这些新产品限制为仅显示在特定的单个产品页面上?我在单一产品页面上尝试了它,但它没有被调用