检查wordpress上的用户名/密码

时间:2015-09-11 21:52:06

标签: php mysql wordpress

我想知道如何检查存储在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' );


?>

我在这里缺少什么?它可能是非常基本的东西,但我对于该做什么完全不了解。

我的服务器托管两个网站。所以我不需要指定它需要使用哪个数据库和表来验证用户/通行证?

如果我在&$ 39; $ user = wp_signon($ creds,false);&#39;之后放了一个echo语句,它就不会被打印出来。这是为什么?如果不打印语句,wp_signon会返回$ user?

很抱歉,如果答案很简单,如果之前有人问过,请指点我一个解决方案。

感谢。

1 个答案:

答案 0 :(得分:1)

您获取空白页面的原因是因为您在PHP中触发致命错误。

您创建了一个名为custom_login()的函数,它有两个必需参数,用户名和密码。然后将该函数挂钩到after_setup_theme操作中。

add_action( 'after_setup_theme', 'custom_login' );

这个钩子不会传递给自定义登录的任何参数,因为它需要两个这就是你问题的根源。