WooCommerce关闭价格显示可以通过WholesaleX插件或者代码实现,本文主要列举了通过这两种方法实现对所有用户和根据用户角色关闭WooCommerce价格显示的教程,以供大家在搭建跨境电商独立站时参考。
一、对所有用户关闭WooCommerce价格
1、使用插件
正确安装并激活WholesaleX插件后,进入设置部分,点击“价格”选项。

这里可以看到两个选项:
- 显示登录以查看产品列表页面的价格:启用此选项后,商品价格会从商店和档案页面隐藏,并显示“登录查看价格”的文字。
- 显示登录查看单一产品页面的价格:如果想隐藏产品页面的价格,可以启用这个选项。

也可以更改“登录查看价格”按钮的链接,默认情况下,它会引导客户进入他们的“我的账户页面”,不过可以将链接到注册和登录页面,因为也可以用WholesaleX创建自定义注册页面。
当对配置满意后,点击“保存更改”按钮。

2、使用代码
前往WordPress主题文件编辑器的外观,打开functions.php文件,粘贴以下文件,点击“更新文件”。
// Hide price and show initial message for guests
add_filter('woocommerce_get_price_html', 'hide_price_initially_for_guests', 10, 2);
function hide_price_initially_for_guests($price, $product) {
if (!is_user_logged_in()) {
// Return a custom message for guests
return __('Price will be revealed once you log in', 'textdomain');
}
return $price;
}
当预览商店时,就可以看到所有WooCommerce产品价格都被隐藏了,“登录后价格将揭晓”的文字被价格替换。

添加购物车按钮依然可见,这样客户在将产品加入购物车后就能看到价格。为了隐藏按钮,还需要在“functions.php”文件中添加以下代码。
// Hide Add to Cart button for guests
add_filter('woocommerce_is_purchasable', 'hide_add_to_cart_for_guests', 10, 2);
function hide_add_to_cart_for_guests($purchasable, $product) {
if (!is_user_logged_in()) {
return false; // Hide Add to Cart button
}
return $purchasable;
}
现在可以看到,添加购物车按钮也被隐藏了。

如果想鼓励用户登录,可以通过链接到登录和注册页面添加可点击的行动号召,为此需要在functions.php文件中添加以下代码。
// Update message to "Login to view price" with a link for guests
add_action('woocommerce_after_shop_loop_item_title', 'update_message_on_shop_page', 10);
add_action('woocommerce_single_product_summary', 'update_message_on_single_product', 25);
function update_message_on_shop_page() {
if (!is_user_logged_in()) {
// Remove the Add to Cart button on shop pages
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);
// Display the updated message with login link
echo '<p class="login-link"><a href="' . wp_login_url() . '">' . __('Log in to View Price', 'textdomain') . '</a></p>';
}
}
function update_message_on_single_product() {
if (!is_user_logged_in()) {
// Display the updated message with login link on single product pages
echo '<p class="login-link"><a href="' . wp_login_url() . '">' . __('Log in to View Price', 'textdomain') . '</a></p>';
}
}
可以更改行动号召文本,并记得添加登录和注册页面的链接。例如本文已经链接到了“我的账户页面”,不过可以把链接添加到自定义注册页面。
现在可以看到“登录查看价格”的行动号召按钮被“加入购物车”按钮取代了。

二、根据用户角色关闭WooCommerce价格
进入WholesaleX的动态规则部分,点击“创建动态规则”按钮,给规则添加一个名字,开始配置它。

现在需要选择想要的类型,选择“隐藏价格”规则,因为本文的操作目标是隐藏产品价格。

本文选择未注册用户的角色,因为希望对所有已登录用户隐藏WooCommerce产品价格。

在产品筛选部分,可以选择特定产品、所有产品、产品属性或特定类别的产品,本文选择所有产品。

一旦隐藏了WooCommerce价格,加入购物车的按钮也会被隐藏,所以如果想联系潜在客户,可以启用“请求报价”按钮,这样你就可以收到潜在客户发送的报价请求。

最后可以设定规则的起始和结束日期,如果想在有限时间内隐藏价格,可以使用这个选项。

完成所有想要的配置后,点击保存按钮并打开规则状态。
推荐阅读:
《初学者指南:WooCommerce跨境电商独立站建站教程》
