WordPress custom logo カスタムロゴ

WordPress4.5で、サイトロゴ(カスタムロゴ)がサポートされるようになりました。

WordPressの開発版では(4.5-beta2-36879)既に、実際に試してみる事が出来ます。

この変更によって、カスタムロゴを、ログインページ等で簡単に使用できるようになります

ログインページのワードプレスロゴを、カスタムロゴに置き換える フィルター処理

テーマのfunctions.phpに追加します。

< ?php
function my_login_logo() {
	$logo		= get_theme_mod( 'custom_logo' );
	$logo_url	= wp_get_attachment_url( $logo );
	if ( false !== $logo_url ) {
		?>
		 <style type="text/css">
		 #login h1 a {
		background-image: url(<?php echo $logo_url; ?> );
		padding-bottom: 30px;
					background-size:contain;
		 }
		 </style>
		<?php
	}
}

add_action( 'login_enqueue_scripts', 'my_login_logo',11 );
?>

テーマでロゴが使えるようにする設定

WordPress4.5を準備の上お試しください。4.4では、以下のコードはエラーになります。

functions.phpで、テーマロゴを有効にします。

<?php
add_theme_support( 'custom-logo', array( 'size'=> 'raindrops-logo' ) );
?>

ロゴ画像のサイズを追加します。

<?php
add_image_size( 'raindrops-logo', 1200, 120 );
?>

後は、テンプレートでカスタマイザーで指定したサイトロゴを表示するためのテンプレートタグを記述します

header.php

<?php
	if ( has_custom_logo() ) {
	 the_custom_logo();
	}				
?>

以上でめでたく、サイトロゴが追加できます。

the_custom_logo()は、サイトへのリンクと画像を含んだhtmlを出力します。

変数に入れる場合は、get_custom_logo()が使えます。get_custom_logo フィルタもついています。

ロゴ画像のURLの取得は

<?php
	$logo= get_theme_mod( 'custom_logo' );
	var_dump( wp_get_attachment_url( $logo ) );
?>

お粗末

[emulsion_relate_posts]