我继承的网站的登录表单有问题,只有某些用户在登录后才会被发送到正确的页面。在这个网站上,拥有帐号的用户可以进入一个特殊区域。这些帐户都是访问权限非常有限的普通WordPress用户帐户。
为了访问站点的这个特殊区域,用户必须使用登录表单。登录表单似乎基于以下代码来定制wp admin登录:
if ( ! is_user_logged_in() ) { // Display WordPress login form:
$args = array(
\'redirect\' => admin_url(),
\'form_id\' => \'loginform-custom\',
\'label_username\' => __( \'Username custom text\' ),
\'label_password\' => __( \'Password custom text\' ),
\'label_remember\' => __( \'Remember Me custom text\' ),
\'label_log_in\' => __( \'Log In custom text\' ),
\'remember\' => true
);
wp_login_form( $args );
} else { // If logged in:
wp_loginout( home_url() ); // Display "Log Out" link.
echo " | ";
wp_register(\'\', \'\'); // Display "Site Admin" link.
}
从此页:
https://codex.wordpress.org/Customizing_the_Login_Form几乎所有的事情都如你所料。如果您已经登录并单击我们的登录链接,您将被踢到/foo/
. 问题是:如果你还没有登录,登录后你仍然会被踢到/foo/bar/
. 但是,在此登录的管理员帐户将被正确地踢到/foo/
.
到目前为止,我已经跑了grep -rl "/foor/bar" /wordpress/site/path
查找此路径的任何剩余引用,但它们都只是按钮和超链接。我对这方面相当陌生;我有什么明显的缺失吗?