WordPress 3.3.xにおけるカスタム背景の表示がされない問題に関して

 『WordPress レッスンブック 3.x対応』のサンプル(Chapter 7のSTEP 7-2)において、WordPress 3.3以降ではカスタム背景の機能を利用した背景画像が表示されないという問題が発生します。この問題がやっと解決しましたのでメモとして残しておきます。

 WordPress 3.3以降では、カスタム背景関連で自動出力されるスタイルシートの設定が以下のようになっています。

<style type=”text/css”>
body.custom-background {background-image: url(~); …}
</style>

 そのため、WordPress3.3以降では、<body>に「custom-background」というクラス名の指定が必要です。このクラス名は、<body <?php body_class(); ?>>で指定できます。

header.php
<head>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>

 ここで、”body”と”<?php”の間の半角スペースは必ず必要です。この半角スペースが、自動出力されるスタイルシートの”<body”と”class”の間の半角スペースにそのまま反映されます。

自動出力されるスタイルシートは次のようになります。

<body class=”home blog logged-in custom-background”>

 はじめは、この半角スペースを空けなかったため、背景画像が表示されませんでした。自動出力されるスタイルシートを見たところbodyclassとなっていたため、<bodyのパラメータが無効なパラメータとして無視されていたのではないかと気が付きました。

 PHPの言語仕様を知っていればすぐにわかったことかもしれません。しかし、あえてPHPの勉強をするほどのことではないと思いますので、このままWordPressのテーマ作成を進めます。

  • このエントリーをはてなブックマークに追加

フォローはこちらからお願いします。

会社勤めから起業するためのウェブ集客セミナー
会社勤めから起業するための7つのステップ