上一篇 WordPress 公園詳細介紹了幾個自定義登錄頁面的 WordPress 插件,這篇 WordPress 公園降繼續為大家介紹 WordPress 自定義登錄頁面的代碼。 WordPress 有一些內置的鈎子 hook,利用 hook,在 WordPress 主題的 functions.php 文件中添加一些代碼,即可實現自定義 WordPress 登錄頁面,所有的操作都不需要修改 WordPress 核心文件。升級 WordPress 版本,也不會丟失自定義 WordPress 登錄頁面的效果。

自定義 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』);

自定義 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』 );

自定義 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』 );

自定義登錄框內容

//在登錄框添加額外的信息
function custom_login_message() {
echo 『<p> 歡迎來到』.get_bloginfo(『name』).』,請登錄後下載本站資源</p><br />』;
}
add_action(『login_form』, 『custom_login_message』);

自定義底部內容

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

自定義 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』);

以上所有代碼都是添加到主題的 funshions.php 文件的最後一個 ?> 的前面。

修改 WordPress 主題推薦大家使用創建 WordPress 子主題的方式。這樣即使 WordPress 主題升級,你也不會丟失對 WordPress 主題所做的修改。