近日,Nicetheme(奈思)主题开启了双十一活动,所有主题都有巨额的优惠。毕竟是他们的老客户,对于这个PandaPro主题也是情有独钟。所以本次我们再来做一次PandaPro的美化,优化读者(用户)的体验,毕竟现在这个社会,顾客至上的原则早已深入人心。
![WordPress开发日志:自定义后台登录界面插图 WordPress开发日志:自定义后台登录界面插图](https://static.esw.eswlnk.com/2021/11/2021110313373896.png)
设置登录界面
这里我们以ApollONE插件举例:
首先我们需要在页面管理中,新建【注册登录】的页面,并且设置固定链接为:/sign
或者其他较短的链接地址
我们在 会员注册/登录/找回密码 页面
选择我们的【注册登录】页面,到此,我们就可以实现自定义后台登录界面,不过有一点不好的是,如果用户直接访问 /wp-admin
也会来到wordpress的默认登录界面,这样会使得我们做的优化浪费。
![WordPress开发日志:自定义后台登录界面插图1 WordPress开发日志:自定义后台登录界面插图1](https://static.esw.eswlnk.com/2021/11/2021110312593912-1024x618.png)
如果你选择在积木
插件中开启后台安全登录地址,那么用户将不能直接访问,并且会跳转到你自定义的404界面
或者其他界面
PHP代码
为了使得未登录用户访问 /wp-admin
和 /wp-login.php
能够自动跳转到我们自定义的 /sign
页面,我们需要在我们主题的functions.php
文件中添加以下钩子:
function ludou_is_administrator() {
// wp_get_current_user函数仅限在主题的functions.php中使用
$currentUser = wp_get_current_user();
if(!empty($currentUser->roles) && in_array('administrator', $currentUser->roles))
return 1; // 是管理员
else
return 0; // 非管理员
}
add_filter( 'login_url', 'my_login_page', 10, 3 );
function my_login_page( $login_url, $redirect, $force_reauth ) {
$login_page = home_url( '/sign' );
$uc_page = home_url( '/uc' );
$login_url = add_query_arg( 'redirect_to', $redirect, $login_page );
if(!is_user_logged_in())
{
return $login_url;
}
else if(ludou_is_administrator()==0)//是管理员就不跳
{
return $uc_page;
}
}
经过测试,上面的代码只是对访问 /wp-admin
起到限制效果,由于很少一部分用户会选择访问 /wp-login.php
,所以我们还是要防止意外发生,向主题文件中添加以下内容:
function ludou_is_administrator() {
// wp_get_current_user函数仅限在主题的functions.php中使用
$currentUser = wp_get_current_user();
if(!empty($currentUser->roles) && in_array('administrator', $currentUser->roles))
return 1; // 是管理员
else
return 0; // 非管理员
}
add_filter( 'login_url', 'my_login_page', 10, 3 );
function my_login_page( $login_url, $redirect, $force_reauth ) {
$login_page = home_url( '/sign' );
$uc_page = home_url( '/uc' );
$login_url = add_query_arg( 'redirect_to', $redirect, $login_page );
if(!is_user_logged_in())
{
return $login_url;
}
else if(ludou_is_administrator()==0)//是管理员就不跳
{
return $uc_page;
}
}
以上代码解决了后台访问的问题,效果还是不错的,如果想要给自己的网站添加版权声明等可以参考本站的以下文章:
📮评论