我想知道如何检查存储在 wordpress 上的 sql 数据库中的用户密码。我整天都在寻找这个,但解决方案似乎很简单,但我无法让它工作。
运行这段代码会返回一个空白页,所以我不知道发生了什么。 同样输入错误的用户名/密码,也不会显示错误消息。
看来我必须按照此处的说明使用 wp_signon():
但是当我在我的 bluehost 服务器上的 php 文件上运行这段代码时,也就是托管 wordpress 网站的那台服务器上,它不起作用。
<?php
custom_login("joe","joepass");
function custom_login($username, $password) {
$creds = array();
$creds['user_login'] = $username;
$creds['user_password'] = $password;
$creds['remember'] = true;
$user = wp_signon( $creds, false );
if ( is_wp_error($user) )
echo $user->get_error_message();
}
// run it before the headers and cookies are sent
add_action( 'after_setup_theme', 'custom_login' );
?>
我在这里错过了什么?这可能是非常基本的事情,但我完全不知道该怎么做。
我的服务器托管两个网站。那么我不需要指定它需要使用哪个数据库和表来验证用户/密码吗?
如果我在“$user = wp_signon( $creds, false );”之后放置一个 echo 语句,它不会被打印出来。这是为什么?它不应该打印语句,wp_signon 返回一个 $user 吗?
很抱歉,如果答案很简单并且之前有人问过,能否请您指出一个解决方案。
谢谢。
最佳答案
您得到空白页的原因是您在 PHP 中触发了一个 fatal error 。
您已经创建了一个名为 custom_login()
的函数,它有两个必需的参数:用户名和密码。然后将该函数挂接到 after_setup_theme
操作中。
add_action( 'after_setup_theme', 'custom_login' );
这个 Hook 不会将任何参数传递给自定义登录,因为它需要两个参数,这就是问题的根源。
关于php - 检查 wordpress 上的用户名/密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32532652/