登录用户看到隐藏信息?用代码轻松搞定(适用于 WooCommerce 产品页)

WooCommerce 电商网站中,我们有时希望为已登录用户提供额外信息,比如会员专属优惠、隐藏的内容说明、批发价格等。而未登录的访客只能看到基础信息,引导他们注册或登录。

这种功能不用安装插件,只需要几行代码,就可以实现:

登录用户可见指定内容

未登录用户看到提示引导登录/注册

本教程会介绍如何在 WooCommerce 产品详情页中,用代码轻松实现“登录可见”功能,安全、轻量、可自定义。

一、适用场景示例

显示会员专属优惠或价格说明

显示仅登录用户可见的“购买须知”

显示批发客户可见的价格或联系方式

鼓励用户注册:未登录时提示“登录后查看更多内容”

二、代码实现:登录用户可见内容

把以下代码添加到当前主题的 functions.php 文件中:

打开路径为:后台-外观-主题文件编辑器functions.php

add_action( ‘woocommerce_single_product_summary’, ‘show_content_for_logged_in_users’, 35 );

function show_content_for_logged_in_users() {
if ( is_user_logged_in() ) {
echo ‘<div class=”custom-member-content”>’;
echo ‘<strong>🎉 会员专属:</strong> 下单即赠送满100减20优惠券!’;
echo ‘</div>’;
} else {
echo ‘<div class=”custom-guest-message”>’;
echo ‘请先 <a href=”‘ . wp_login_url( get_permalink() ) . ‘”>登录</a> 或 <a href=”‘ . wp_registration_url() . ‘”>注册</a> 后查看更多优惠信息。’;
echo ‘</div>’;
}
}

三、说明与扩展

该代码使用 WooCommerce 的钩子 woocommerce_single_product_summary,插入位置在“加入购物车”按钮后

is_user_logged_in() 是 WordPress 内置函数,可判断用户是否登录

wp_login_url() 和 wp_registration_url() 可生成登录/注册页面链接

四、页面效果预览

未登录用户看到:
请先 登录 或 注册 后查看更多优惠信息。

登录用户看到:
🎉 会员专属:下单即赠送满100减20优惠券!

你可以根据需要替换其中的文本内容、按钮样式、添加图片等,实现个性化效果。

五、进阶建议(可选)

如果想要进一步控制显示内容:

根据用户角色显示不同信息(如只对“批发客户”展示)

把隐藏内容用 get_field() 结合 ACF 插件动态获取

使用 current_user_can() 判断是否为特定权限用户

示例代码(根据角色显示):

if ( current_user_can( ‘wholesale_customer’ ) ) {
echo ‘这是批发客户看到的内容。’;
}

六、总结

通过简单的代码判断,可以轻松实现在 WooCommerce 产品页中为不同用户展示不同内容,可以提升会员体验和有效引导访客注册。

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注