個人規模から中規模までのクライアントワークで使えるWordPressのカスタムを中心とした、Web制作に関することを書いてます。

ログイン画面をカスタムする方法

ログイン画面をカスタムする方法

ログイン画面をオリジナルにします。
ロゴマークの変更やロゴマークのリンク先を変更していきます。

カスタム例

ログイン画面のカスタム例

ロゴのリンク先とCSSを変更しています。

ロゴのリンク先を変更する

サイトトップへリンクする場合

function wp55_login_logolink() {	return get_bloginfo( 'url' );
}
add_filter( 'login_headerurl', 'wp55_login_logolink' );

URLで指定する場合

function wp55_login_logolink() {	return 'https://example.com/';
}
add_filter( 'login_headerurl', 'wp55_login_logolink' );

見た目を変える

オリジナルCSS&JSファイルを読み込む

get_template_directory_uri() はテーマフォルダの場所に置き換わります。
JSファイルが不要な場合は、3行目を消してください。

function wp55_login() {	echo '<link rel="stylesheet" href="' . get_template_directory_uri() . '/css/login.min.css">';	echo '<script src="' . get_template_directory_uri() . '/js/login.js"></script>';
}
add_action('login_head', 'wp55_login');

装飾に使えるCSSクラスを抜粋

おおまかなCSSクラスを抜き出しました。

.login {
}
#login {	.wp-login-logo {	a {	}	}	#login-message,	#login_error {	.notice {	&.notice-info {	}	&.notice-error {	}	&.message {	}	}	}	#loginform {	.user-pass-wrap {	}	.forgetmenot {	}	label {	}	.input {	}	input[type=text] {	}	input[type=password] {	}	input[type=checkbox] {	}	p {	&.submit {	.wp-core-ui {	.button.button-large {	}	}	}	}	}	#nav {	a {	&:hover {	}	}	}	#backtoblog {	a {	&:hover {	}	}	}	.privacy-policy-page-link {	a {	&:hover {	}	}	}
}
.language-switcher {	#language-switcher {	#language-switcher-locales {	}	}
}
.login {
}
#login {
}
.wp-login-logo {
}
.wp-login-logo a {
}
#login-message,
#login_error {
}
.notice {
}
.notice-info {
}
.notice-error {
}
.message {
}
#loginform {
}
.user-pass-wrap {
}
.forgetmenot {
}
#loginform label {
}
#loginform .input {
}
#loginform input[type=text] {
}
#loginform input[type=password] {
}
#loginform input[type=checkbox] {
}
#loginform p {
}
#loginform p.submit {
}
#loginform p.submit .wp-core-ui {
}
#loginform p.submit .wp-core-ui .button.button-large {
}
#nav {
}
#nav a {
}
#nav a :hover {
}
#backtoblog {
}
#backtoblog a {
}
#backtoblog a:hover {
}
.privacy-policy-page-link {
}
.privacy-policy-page-link a {
}
.privacy-policy-page-link a:hover {
}
.language-switcher {
}
#language-switcher {
}
#language-switcher-locales {
}

最初のカスタム例の場合のCSS

.login {	position: relative;	z-index: 0;	background: url( "../images/login-bg.jpg" ) no-repeat center center;	background-size: cover;	&::before {	position: absolute;	top: -5px;	right: -5px;	bottom: -5px;	left: -5px;	z-index: -1;	background: inherit;	content: "";	filter: blur(5px);	}
}
#login {	.wp-login-logo {	a {	background: url( "../images/login-logo.png" ) no-repeat center center;	background-size: 84px 84px;	}	}	#loginform {	border-color: #0073aa;	border-radius: 10px;	background-color: rgba(0, 0, 0, .5);	label {	color: #fff;	}	p {	&.submit {	.wp-core-ui {	.button.button-large {	border: solid 2px #fff;	box-shadow: none;	background: transparent;	}	}	}	}	}	#nav {	a {	color: #fff;	}	}	#backtoblog {	a {	color: #fff;	}	}	.privacy-policy-page-link {	a {	color: #fff;	}	}
}
.login {	position: relative;	z-index: 0;	background: url("../images/login-bg.jpg") no-repeat center center;	background-size: cover;
}
.login::before {	position: absolute;	top: -5px;	right: -5px;	bottom: -5px;	left: -5px;	z-index: -1;	background: inherit;	content: "";	-webkit-filter: blur(5px);	filter: blur(5px);
}
#login .wp-login-logo a {	background: url("../images/login-logo.png") no-repeat center center;	background-size: 84px 84px;
}
#login #loginform {	border-color: #0073aa;	border-radius: 10px;	background-color: rgba(0,0,0,.5);
}
#login #loginform label {	color: #fff;
}
#login #loginform p.submit .wp-core-ui .button.button-large {	border: solid 2px #fff;	box-shadow: none;	background: rgba(0,0,0,0);
}
#login #nav a {	color: #fff;
}
#login #backtoblog a {	color: #fff;
}
#login .privacy-policy-page-link a {	color: #fff;
}

まとめ

クライアントワークでは、ロゴとリンク先の変更だけでもクライアントの満足度UPにつながります。
複数サイトの管理をしている場合も、ロゴの変更をする事でミスを防げます。

検証環境

サーバー:heteml / テーマ:検証用のオリジナルテーマ
WordPress 6.8 / PHP 8 / MySQL 8