哪里有阻止未登录用户访问wp-admin的功能?

时间:2016-04-01 作者:AD Henrique

阻止未登录用户访问Wordpress中受限页面的功能在哪里?我查了好几个文件,但没找到。我想修改Wordpress验证Cookie和会话的方式。

谁来帮帮我?

1 个回复
SO网友:Tom J Nowell

您需要使用authenticate 过滤器:

https://codex.wordpress.org/Plugin_API/Filter_Reference/authenticate

add_filter( \'authenticate\', \'myplugin_auth_signon\', 30, 3 );
function myplugin_auth_signon( $user, $username, $password ) {
     return $user;
}
返回aWP_Error 对象来指示失败或问题,或在成功时指示WP\\U用户对象。

还有两个连接到该过滤器的核心函数需要删除wp_authenticate_username_passwordwp_authenticate_spam_check, 这些需要通过remove_filter 作用

一旦完成,WordPress将依赖于您自己的身份验证系统。

注意事项:

您需要创建和更新WordPress用户,以便在登录和更新时与您的用户相匹配。许多代码依赖于用户表和用户元的假设,但您可以根据数据库设置该元和这些用户。完全删除用户表是不可行的,您将使用WordPress基于cookie的会话系统,如果您想要PHP会话,这是一个全新的问题。WordPress不使用PHP会话,您必须自己编写所有这些代码。请记住,PHP会话在许多托管主机上表现不佳,大多数插件和主题也不使用或尊重它们。除非您有另一个依赖于会话的系统,否则我看不出您会获得什么好处

相关推荐

在将代码添加到函数后无法登录WordPress wp-admin。php

我在函数末尾添加以下代码。php文件,用于根据自定义帖子的帖子标题填充分类法。问题是,当我添加代码时,尝试登录wp admin时会出现以下错误。非常感谢您能帮助我们弄清楚为什么会发生这种情况。Error:错误:由于意外输出,Cookie被阻止。有关帮助,请参阅此文档或尝试支持论坛。Code: <?php function update_custom_terms($post_id) { // only update terms if