这个答案假设您正在谈论常规登录页面,/wp-login.php
, 并且每个用户都作为用户存在于WordPress数据库中。再读一遍你的问题后,我不太确定你想做什么
这是第一次尝试,但尚未完成,因为它会在受保护的帖子上再次询问您的密码,并且不知道您想何时访问/wp-admin/
或其他限制区域。
add_filter( \'login_redirect\', \'wpse6072_login_redirect\', 10, 2 );
function wpse6072_login_redirect( $redirect_to, $requested_redirect )
{
// You somehow need to figure out how to make a difference between an admin login and a regular login
if ( /*! array_key_exists( \'redirect_to\', $_REQUEST ) &&*/ array_key_exists( \'pwd\', $_POST ) ) {
global $wpdb;
$post_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM {$wpdb->posts} WHERE post_password = %s", $_POST[\'pwd\'] ) );
$post_permalink = get_permalink( $post_id );
if ( $post_permalink ) {
// TODO: Set the post password in a way that satisfied WordPress
$redirect_to = $post_permalink;
}
}
return $redirect_to;
}