woocommerce - woocommerce_output_related_products_args 挂钩未按预期工作
问题描述
我想在相关产品部分显示 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;
}
解决方案
正如您可以在 WC 核心源代码中找到的那样。过滤器钩子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
推荐阅读
- django - 在 django/pycharm mac 上隐藏密钥
- php - NetBeans 12 PHP - IDE 的默认浏览器不起作用
- prestashop - 为什么要缩小 theme.css 以及编辑它的正确方法是什么?
- typescript - 在 find() 中 TypeORM 查询相关的 oneToMany 值
- bash - 如何使用内部有空格的其他变量来处理变量?
- python - 已安装 Torch,但未找到 repeat_interleave
- python - 使用 pd.read_csv() 读取多个文件并将每个文件保存为不同的变量
- mustache - 如何在 mustacle 标签中进行 Nestle 循环
- keras - Keras度量:只计算二分类中一类的结果
- react-native - React Native Base Picker 显示警告:VirtualizedLists 不应该嵌套在普通的 ScrollViews 中