免费产品非常适合作为吸引客户购买付费产品或服务的诱饵,不过不建议它出现在列表上,让它和其他付费产品竞争。建议控制产品的可见性、展示位置以及展示方式。
通过代码隐藏免费产品
如果你想要在WooCommerce商城隐藏免费产品或服务,可以使用以下代码,只需要把代码粘贴到主题的functions.php(建议是子主题)或者使用自定义代码插件。
/* 隐藏免费产品 */
add_action( 'woocommerce_product_query', 'jhchen_hidden_free_products', 9999, 2 );
function jhchen_hidden_free_products( $q, $query ) {
if ( is_admin() ) return;
$meta_query = $q->get( 'meta_query');
$meta_query[] = array(
'key' => '_regular_price',
'value' => 0,
'compare' => '>',
);
$q->set( 'meta_query', $meta_query );
}
以上的代码会隐藏全部价格为零的产品。
你要是想要隐藏折扣价为零的产品(之前是正常价格),可以使用以下代码:
/* 隐藏折扣价为零的免费产品 */
add_action( 'woocommerce_product_query', 'jhchen_hidden_free_products_discounted_price', 9999, 2 );
function jhchen_hidden_free_products_discounted_price( $q, $query ) {
if ( is_admin() ) return;
$meta_query = $q->get( 'meta_query');
$meta_query[] = array(
'key' => '_sale_price',
'value' => 0,
'compare' => '>',
);
$q->set( 'meta_query', $meta_query );
}
和上面唯一的区别就是 key 从 _regular_price 变成 _sale_price,也就是折扣价格。
以上两种方法只是隐藏了免费产品在WooCommerce的显示,并不是删除了。
使用自带设置隐藏产品
如果不使用代码,可以在 WooCommerce 的每个产品设置里单独隐藏免费产品。
- 前往产品发布界面,找到目录可见性选项,并选择隐藏,这样该产品将不会显示在店铺和分类页面。
- 直接快速编辑产品,能见度选择隐藏。
如果不使用代码,可以在 WooCommerce 的每个产品设置里单独隐藏免费产品。
- 前往产品发布界面,找到目录可见性选项,并选择隐藏,这样该产品将不会显示在店铺和分类页面。
- 直接快速编辑产品
这个方法隐藏产品是不管是不是免费产品的,需要逐个产品设置。代码则更快捷,适用于所有当前和未来的免费产品,无需每次手动隐藏。