カスタム背景を有効にする
カスタム背景を有効にするには、functions.php
ファイル内でadd_theme_support()を使用します。
add_theme_support( 'custom-background' );
デフォルトのパラメータを指定できます。以下の例では、デフォルトの背景色「#0000ff」(青)と、/imagesフォルダーに保存された「wapuu.jpg」背景画像を使用しています。
$args = array(
'default-color' => '0000ff',
'default-image' => get_template_directory_uri() . '/images/wapuu.jpg',
);
add_theme_support( 'custom-background', $args );
add_theme_support()を呼び出すことで、Customizerは「背景画像」メニューと「背景色」セクションをColorsメニューに表示します。
カスタム背景を表示する
一般的に、カスタム背景を表示するには、header.php
ファイル内でwp_head()とbody_class()を呼び出します。
<!DOCTYPE html>
<html>
<head>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
wp_head()は、HTMLヘッダーとインラインで追加のスタイルシートを生成し、通常はドキュメントのHEAD要素の終わりの直前に配置されます。この追加のスタイルシートは、テーマのスタイルシートからの背景値を上書きします。
私たちの例では、以下のコードがHTMLに生成されます。bodyタグには「custom-background」クラスが含まれていることに注意してください。
<!DOCTYPE html>
<html lang="en-US" class="no-js">
<head>
...
<style type="text/css" id="custom-background-css">
body.custom-background {
background-image: url("http://example.com/wordpress/wp-content/themes/my-first-theme/images/wapuu.jpg");
background-position: left top;
background-size: auto;
background-repeat: repeat;
background-attachment: scroll;
}
</style>
...
</head>
<body class="home page-template-default page page-id-211 logged-in admin-bar no-customize-support custom-background">
...
これで、繰り返し背景画像が表示されます
別のデフォルト例
これはデフォルト値設定の別の例です。
$another_args = array(
'default-color' => '0000ff',
'default-image' => get_template_directory_uri() . '/images/wapuu.jpg',
'default-position-x' => 'right',
'default-position-y' => 'top',
'default-repeat' => 'no-repeat',
);
add_theme_support( 'custom-background', $another_args );
これにより、右上隅に単一の画像が表示されます。
「default-color」を「#0000ff」(青)として指定しても、背景色は青ではありません。default-imageパラメータを設定すると、その値が即座に有効なカスタム背景になりますが、default-colorを設定しても効果はありません。それは単にCustomizerのColorメニューでデフォルトの背景色として設定され、管理者が保存すると強化されます。