自定义WordPress后台登录页面样式与登录地址url的方法

鱼见海资源网最新教程:

之前也常有看到一些Wordpress的站点做了很多个性化的修改,其中就有今天我们要提到的自定义Wordpress后台登录地址url的方法,刚好有项目需要用到,在使用过程中发现的一些问题做一下总结与记录。

首先插件的方法。因为个人不建议过多的依赖于现有插件,所以也没有尝试过,这里不作记录,有需要的朋友可以去搜搜:Stealth Login Page等插件。

其次,要看你是想自定义成什么样的,如果仅仅是为了防止恶意注册与登录的话,那就比较简单。蒲松林用过的方法如下:

在当前模板文件里的functions.php文件中间加入如下代码:

//自定义后台登录地址
add_action('login_enqueue_scripts','login_protection');  
function login_protection(){  
    if($_GET['do'] != 'login')header('Location: http://www.wpcn.net/');  
}

主要是通过GET方式提交URL并作判断,如果访问地登录地址不是/wp-login.php?do=login则返回到上面定义的网址。修改成一个比较有个性的就能有效的防止恶意登陆了。
但是段代码有一个很严重的问题,那就是注册用户时访问wp-register.php?action=register或者/wp-register.php都会被重定向到上面定义的网址上去。因此上面的代码适用于非开放注册的个人用户。

我们想要实现的是Wordpress的登录地址为:www.xxx.com/login/的形式,同时还要支持多用户注册,注册页面的地址也自定 义为:www.xxx.com/register/这样。下面是实现 方法:

先创建一个自定义模板:

escape($_REQUEST['username']);
		$password = $wpdb->escape($_REQUEST['password']);
		$remember = $wpdb->escape($_REQUEST['rememberme']);
	
		if($remember){
			$remember = "true";
		} else {
			$remember = "false";
		}
		$login_data = array();
		$login_data['user_login'] = $username;
		$login_data['user_password'] = $password;
		$login_data['remember'] = $remember;
		$user_verify = wp_signon( $login_data, false ); 
		//wp_signon 是wordpress自带的函数,通过用户信息来授权用户(登陆),可记住用户名
		
		if ( is_wp_error($user_verify) ) { 
			echo "用户名或密码错误,请重试!";//不管啥错误都输出这个信息
			exit();
		} else { //登陆成功则跳转到首页(ajax提交所以需要用js来跳转)
			echo "";
			exit();
		}
	} else {
 
get_header();//载入头部文件
?>

登陆页面 - 蒲松林的博客







window.location='". get_bloginfo('url') ."'"; } ?>

把上面的样式修改成自己的,再新建一个页面,url设置为login,并选择上面新增的模板。这样就可以通过访 问:www.xxx.com/login/进行登录了。接下我们就是要解决访问Wordpress默认的登录地址时,自动重定向到新建立的页面上来。如果 用最上面的方法肯定会导致无法进行用户注册。解决方法其实也简单,原理跟最上面的也一样,具体如下:

在wp-login.php文件最前面增加如下代码:

这样就行了 !

文章来源于互联网

© 版权声明
THE END
喜欢就支持一下吧
点赞191 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

夸夸
夸夸
还有吗!没看够!
取消
昵称表情代码图片

    暂无评论内容