出于个性化要求,你可能需要自定义WordPress的登录页面的显示效果。貌似有不少这方面的WordPress插件,但是我们完全没有必要安装插件,只需要简单的添加一些代码即可。

概述

通过WordPress内置的挂钩(Hook),在主题的 functions.php 添加一些简单的代码,即可完成自定义修改,所有的操作都不需要修改WordPress核心文件,即使升级WordPress版本,也不会丢失效果。

注:下文提到的所有代码,都是添加到主题的 funshions.php 文件的最后一个 ?> 的前面。</p

 

1.自定义Logo图片

制作一个名为 login_logo.png 的图片,放在主题下的images文件夹里(也可以根据自己的实际修改,只要下面的代码引用的Logo地址正确即可)。

//自定义登录页面的LOGO图片
function my_custom_login_logo() {
    echo '<style type="text/css">
        h1 a { background-image:url('.get_bloginfo('template_directory').'/images/logo.png) !important; }
    </style>';
}
add_action('login_head', 'my_custom_login_logo');

 

2.自定义Logo链接

将Logo的链接改为网站首页链接:

//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));

将Logo的链接改为任意链接:

//自定义登录界面LOGO链接为任意链接
function custom_loginlogo_url($url) {
    return 'http://www.wpdaxue.com';//修改URL地址
}
add_filter( 'login_headerurl', 'custom_loginlogo_url' );

 

3.自定义Logo提示信息(tltle)

自定义为网站名称:

//自定义登录页面的LOGO提示为网站名称
add_filter('login_headertitle', create_function(false,"return get_bloginfo('name');"));

自定义为其他任何文本:

//自定义登录页面LOGO提示为任意文本
function custom_loginlogo_desc($url) {
    return 'WordPress大学'; //修改文本信息
}
add_filter( 'login_headertitle', 'custom_loginlogo_desc' );

 

4.自定义登录框内容

//在登录框添加额外的信息
function custom_login_message() {
    echo '<p>欢迎来到'.get_bloginfo('name').',请登录后下载本站资源</p><br />';
}
add_action('login_form', 'custom_login_message');

 

5.自定义底部内容

//自定义底部信息
function custom_html() {
    echo '<p style="text-align:center">© ' . get_bloginfo(url).'</p>';
}
add_action('login_footer', 'custom_html');

 

6.自定义CSS

要更加灵活地修改登录页面的显示样式,建议添加一个自定义的CSS文件,然后查看登录页面的源代码的html结构,撰写自己的CSS样式。你可以使用下面的代码引入自己的CSS,注意修改代码中的css地址,以下调用的是主题根目录下的login_style.css:

//添加自定义CSS
function custom_login() {
    echo '<link rel="stylesheet" type="text/css" href="' . get_bloginfo('template_directory') . '/login_style.css" />';
}
add_action('login_head', 'custom_login');

 

本文小结

通过WordPress的挂钩(hook),可以做很多自定义修改,不仅仅是登录页面哦。对于WordPress主题或插件开发者来说,掌握WordPress的各种挂钩,你就可以很自由地自定义WordPress啦!