我知道这个问题可能太广泛了,但是我正在寻找一些方向。我的客户有一家拥有30-40种产品的woocommerce商店。无论出于何种原因,他们都不想再在线销售,但他们希望保留其网站上的产品页面,信息等。

是否有一种方法可以使用挂钩或其他方式隐藏东西例如价格,添加到购物车按钮等在woocommerce中?还是应该只编辑php模板文件?

#1 楼

幸运的是woocommerce有很多钩子,这消除了价格和按钮: />我可以想像,您想隐藏/删除的不仅是价格/按钮(例如页面/功能),本教程还为您提供了一些提示

评论


我认为这些钩子必须插入functions.php中是对的吗?如果是这样,我是否需要将它们放在特定的部分?如果它们能够正常工作,那么除了某些样式外,大概不会再显示购物车功能,对吗?

–詹姆斯
2013年1月1日14:41

是的,您可以将它们放在functions.php中,将它们放在另一个函数中的位置都没有关系。只要您不将它们放在最后一个?>之后,通常在文件末尾一直是最安全的。这不会删除购物车页面,但实际上将消除向购物车添加任何内容的可能性。如果您在任何地方都不喜欢购物车页面,则应该相对安全。

– Ewout
2013年12月5日,9:10

有用。但这很奇怪。应用此选项后,产品图像停止显示。它显示了他们位置的空白区域,当我将鼠标移到它们上方并单击它们时,它们会向我显示正确的图像。您是否知道为什么会这样?

–甘草
16年8月2日在17:08

#2 楼

扩展上面的代码(感谢Ewout),下面的代码将摆脱所有woocommerce产品上的所有价格和“添加到购物车”按钮,并提供原因说明。我需要一个提供直销产品并遵守其规则的网站的代码,我无法向公众显示价格。

将过滤器添加到主题的functions.php文件中。

评论


这很奇怪。应用此选项后,产品图像停止显示。它显示了他们位置的空白区域,当我将鼠标移到它们上方并单击它们时,它们会向我显示正确的图像。您是否知道为什么会这样?

–甘草
16年8月2日在17:08

该代码在WooCommerce v3.2.1中不起作用:-)

–史蒂夫
17-10-19在2:44

#3 楼

add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );


这将完全防止结帐,并通过以下方式隐藏所有价格:


使所有产品均不可购买(第1行)
清空价格HTML(第2行)