为什么对访客隐藏价格?
这个当然是“因店而异”,并不是每个电商独立站都要对网站访客隐藏价格。通常在一些出售独家产品的市场里才会只向已注册用户显示价格,或者只显示部分价格给未注册用户。
这样做的好处包括:
-
制造归属感和独占性:用户会因为无法看到价格而感到好奇。
-
诱导价格:展示一些吸引人的低价产品,而大部分产品的价格则只对注册用户可见。这样可以吸引用户注册以查看更多优惠。
-
保持竞争优势:不让竞争对手看到自己的价格和促销策略,选择只对登录用户显示价格,以此保护自己的“商业机密”。
-
屏蔽搜索引擎:隐藏产品价格还可以防止搜索引擎索引价格信息,可以防止其他人通过搜索引擎获得价格数据。
另外一个很常见的原因就是B2B询盘网站,这种网站通常是直接就不显示价格的,不管你有没有登录。这种你可以看看我之前出过的用Elementor免费版做B2B网站的教程,也有一些插件可以帮你像CatalogX或YITH WooCommerce Catalog Mode。其实直接不显示价格最简单的方式就是,直接不给产品写价格…
用代码来隐藏产品价格
老规矩,把代码加到子主题的functions里或者用code snippets插件。
这个代码会对未登录的用户把原本的产品价格改成“需要登录才能查看价格”(可自定义),这个还会带一个跳转用户页面的链接。这个代码我其实在之前的限制访客查看价格后无法添加产品到购物车里也有提到过。
add_filter( 'woocommerce_variable_sale_price_html', 'update_price_html', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'update_price_html', 10, 2 );
add_filter( 'woocommerce_get_price_html','update_price_html', 999, 2 );
function update_price_html( $price_html, $product ) {
if( !is_user_logged_in() ) { // 如果用户未登录
$register_url = wp_registration_url();
$price_html = '<a href="' . get_permalink(wc_get_page_id('myaccount')). '">需要登录才能查看价格</a>';
}
return $price_html;
}
用插件来隐藏产品价格
如果你对代码有点恐惧或不敢操作它,那么当然也有通过插件来隐藏价格的方法。
Hide Price Until Login,这个插件可以决定是否在我们的在线商店中显示价格,或者仅向注册用户显示价格,甚至可以指定显示给哪些用户角色。
另外一个就是我之前在WooCommerce插件开发商推荐过的老大哥,WPClever开发的插件,WPC Price by User Role for WooCommerce。这是它的免费版,它另外一个功能可以帮我们给不同的用户设置不同的产品价格,这就是它这个插件的主要功能,其他额外设置就都得付费了。