首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Woocommerce中将类别排除在[recent_products]短代码之外

在Woocommerce中将类别排除在[recent_products]短代码之外
EN

Stack Overflow用户
提问于 2022-07-08 17:09:33
回答 2查看 155关注 0票数 0

我们有一个POS系统运行在woocommerce上,我们使用它来进行即时采购。这意味着我们有一个类别的项目,我们不出售在网上。我有一个插件,它成功地将这些类别和相关产品隐藏在前端,但这不会影响我们使用recent_products短代码时所显示的项目。

我试图通过销毁这个短代码来隐藏这个特定的类别,但是这些项目仍然显示:

代码语言:javascript
运行
复制
[recent_products per_page="4" order="desc" cat_operator="NOT IN" category="instore"]

这甚至可能使用最近的产品的短代码吗?我可能遗漏了什么,还是有其他方法可以显示新产品并排除'instore‘- instore是类别段格,顺便说一句,整个类别名是Instore only

这件事已经困扰我一段时间了。

任何建议都将受到欢迎。

向唐娜问好

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-18 17:04:32

既然你想把它隐藏起来,为什么我们不试一试:

代码语言:javascript
运行
复制
function dont_show_instore_products( $args, $atts ) {
        $args['tax_query'][] = [
                'taxonomy' => 'product_cat',
                'field'    => 'slug',
                'terms'    => ['instore'],
                'operator' => 'NOT IN'
            ];
    return $args;
}
add_filter( 'woocommerce_shortcode_products_query', 'dont_show_instore_products', 10, 2 );

只需将其添加到主题的functions.php中,就在结束?>之前,或者如果functions.php没有?>,只需将其添加到最后一行之后,让我们看看它是否做了它应该做的事情。

票数 1
EN

Stack Overflow用户

发布于 2022-07-08 17:29:12

单独使用recent_products短代码是不可能的.需要用一些PHP代码连接到woocommerce_shortcode_products_query过滤器。尽管我认为您可以使用这样的products短代码实现您想要的结果:

代码语言:javascript
运行
复制
[products limit="4" orderby="id" order="DESC" visibility="visible" cat_operator="NOT IN" category="instore"]

这里有更多的例子:https://woocommerce.com/document/woocommerce-shortcodes/#scenario-4-newest-products

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72914778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档