You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制自定义联系页面仅允许WooCommerce登录用户访问?

限制自定义联系页面仅WooCommerce登录用户访问的实现方法

是的,你可以通过自定义functions.php代码实现这个需求,这是直接且可靠的方式,具体操作如下:

  • 推荐使用子主题的functions.php文件(避免父主题更新时丢失自定义代码),也可以直接在Divi主题的「主题选项」→「自定义代码」→「PHP」栏添加代码(Divi自带自定义代码入口,无需直接编辑文件)
  • 复制以下代码,替换其中的页面标识为你的联系页面ID或slug:
function restrict_contact_page_to_logged_in_users() {
    // 替换为你的联系页面ID(比如123)或slug(比如'contact-us')
    $restricted_page = 'contact'; 
    if ( is_page($restricted_page) && !is_user_logged_in() ) {
        // 跳转到WooCommerce登录页,登录后自动返回原页面
        $login_url = wc_get_page_permalink('myaccount') . '?redirect_to=' . urlencode(get_permalink());
        wp_redirect( $login_url );
        exit;
    }
}
add_action('template_redirect', 'restrict_contact_page_to_logged_in_users');

关键细节说明:

  1. 页面标识获取:编辑你的联系页面,地址栏中post=后面的数字就是页面ID;或者在页面编辑界面的「别名」字段获取slug(比如设置的别名是contact-us,就把代码里的'contact'改成'contact-us')
  2. 跳转逻辑:代码会在未登录用户访问该页面时,自动跳转到WooCommerce的「我的账户」登录页面,登录完成后会直接回到联系页面,提升用户体验
  3. 兼容性:代码适配WooCommerce 8.1.1版本,和Divi主题无冲突,不会影响其他页面的正常访问

内容的提问来源于stack exchange,提问作者Pat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 23:53:14