如何在WordPress设置登录/注册页为首页并显示用户账户
一、设置登录/注册页为首页并限制未登录访问
- 把Forminator创建的登录/注册页设为首页:进入WordPress后台→设置→阅读,选择“静态页面”,将登录/注册页设为首页。
- 限制未登录用户访问其他内容:
- 用免费插件Members:安装激活后,进入插件设置→角色,编辑“访客”角色,取消其对所有页面、文章的访问权限。
- 代码实现(无需插件):在主题的
functions.php中添加以下代码,替换其中的页面slug为你实际的登录/注册页标识:
function restrict_access_to_logged_in_users() { if ( !is_user_logged_in() && !is_page('你的登录注册页面slug') ) { wp_redirect( home_url('/你的登录注册页面slug/') ); exit; } } add_action('template_redirect', 'restrict_access_to_logged_in_users');
二、顶部导航栏显示用户账户信息(免费方案)
Forminator免费版无此功能,推荐以下免费插件或代码方案:
- WP User Menu:安装激活后,进入外观→菜单,添加“WP User Menu”菜单项,自动显示登录/注册按钮,用户登录后切换为用户名、头像、资料入口及退出选项,支持自定义显示内容。
- User Profile Menu:免费插件,直接在菜单中添加用户组件,登录后显示用户名、头像,以及个人资料、退出等链接,设置简单。
- 手动代码实现:在主题的
header.php导航区域添加以下代码,可根据主题样式调整CSS:
if ( is_user_logged_in() ) { $current_user = wp_get_current_user(); echo '<div class="user-info">'; echo get_avatar( $current_user->ID, 32 ); // 32为头像尺寸,可修改 echo '<span>欢迎, ' . $current_user->display_name . '</span>'; echo '<a href="' . wp_logout_url( home_url() ) . '">退出</a>'; echo '</div>'; } else { echo '<a href="' . home_url('/你的登录页面slug/') . '">登录</a> | <a href="' . home_url('/你的注册页面slug/') . '">注册</a>'; }
内容的提问来源于stack exchange,提问作者Kenneth Kimachia
相关产品推荐
相关产品推荐

