wordpress如何设置后台访问禁令?

Wordpress7个月前更新 SUYEONE
1.7K 0 0

WordPress中阻止用户访问后台是一个有效的安全措施,尤其是当你的网站不需用户使用后台功能或已有独立的会员中心。下面是一个简单的教程,教你如何操作:

首先,你需要编辑WordPress的主题核心功能文件`functions.php`。通常,这个文件位于你的主题文件夹中。在文件末尾添加以下代码,这将阻止默认注册用户角色访问后台:

“`php
function qzl_redirect_wp_admin() {
if (is_admin() && !current_user_can(‘eDiT’) && (!defined(‘DOING_AJAX’) || !DOING_AJAX)) {
$current_user = wp_get_current_user();
if ($current_user->roles[0] == get_option(‘default_role’)) {
wp_safe_redirect(home_url());
exit();
}
}
}
add_Action(‘init’, ‘qzl_redirect_wp_admin’);
“`

如果你已经更改了新用户的默认角色,此设置不会影响注册的用户。

接下来,如果你想限制仅管理员、编辑和作者角色能访问后台,可以使用以下代码:

“`php
function qzl_redirect_wp_admin() {
if (is_admin() && is_user_logged_in() &&
!current_user_can(‘manage_options’) &&
!current_user_can(‘publish_pages’) &&
!current_user_can(‘publish_posts’) &&
(!defined(‘DOING_AJAX’) || !DOING_AJAX)) {
wp_safe_redirect(home_url());
exit();
}
}
add_action(‘init’, ‘qzl_redirect_wp_admin’);
“`

这段代码会检查用户是否已登录以及他们的角色。被禁止的用户将会被重定向至网站的首页。如果需要重定向到特定页面,你可以将`wp_safe_redirect(home_url())`替换为你的目标URL,例如:

“`php
wp_safe_redirect(‘http://www.example.com’);
“`
请注意,这里只能重定向到站内链接,无法跳转到外部网址。

如果你想仅允许管理员访问后台,只需移除允许编辑和作者访问的代码部分:

“`php
!current_user_can(‘publish_pages’) && !current_user_can(‘publish_posts’)
“`

通过以上步骤,你可以有效地禁止用户访问你的WordPress后台,从而增强网站的安全性。当你的WordPress网站已有会员中心或不需要用户访问后台时,这是一个很好的安全增强策略。更多关于WordPress的相关教程,请继续关注相关资源以获取更多信息!

© 版权声明

相关文章

暂无评论

暂无评论...
☺一键登录开启个人书签等功能!