hidechan3595さん、こんにちは。
get_stylesheet_directory_uri関数で、使用中のテーマフォルダまでのパスが出力されますので、それより下層となる画像ファイルまでのパスと組み合わせて記述してください。
jim912さん、ありがとうございます。
CODEXを読みながら、教えていただいた関数を用いてコーディングしているのですが、初歩的な記述ミス あるいは文法ミスで、思うように組めずにいます。
header.phpに以下を記述していますが、
Parse error: syntax error, unexpected ‘}’ in C:\xampp\htdocs\wordpress\wp-content\themes\graphene\header.php on line 110
のエラーが出ます。
(下記 <?php が100行目、エラー110行目は、下から2行目の }endif; 部分です)
<?php
/**
*front_pageのみ、graphene_header_imageを /uploads/2011/09/○×.png に決め打ちする
*/
?>
<?php
if(is_front_page()){
'<div id="header" style="background-image:url(url(<?php echo get_stylesheet_directory() ?>/uploads/2011/09/○×.png);">';
}else{
'<div id="header" style="background-image:url(<?php echo $header_img; ?>);">'
}endif;
?>
PHPテキスト、PHP公式オンラインマニュアルを何度も見直していますが、どうしても分かりません。
ご教授をお願いします。
hidechan3595さん
PHPの記述ルールは憶えておくようにしましょう。
1.PHP
PHPとして扱われるのは、下記のようなPHPタグで括られた範囲となります。この外は通常のHTMLとしてそのまま表示されます。また、PHPタグの中にPHPタグを書くようなは入れ子などはできません。
<?php ?>
2.if条件分岐の記述方法について
ifをはじめとした条件分岐やループの記述方法には2通りあります。
if ( 分岐条件 ) {
}
というブレイスで記述する方法と
if ( 分岐条件 ) :
endif;
という、コロンとendif;の組み合わせで記述する方法です。必ずどちらかの記法となり、コロンで開始してブレイスで終了などという組み合わせはできません。また、開始と終了が必ず1対1の対になっている必要があります。
※ 終了文は条件分岐やループの種類によって異なります。whileならendwhile;といった具合です。
※ 括らない省略形の書き方もありますが、紛らわしくなるので割愛します。
3.命令文の書き方
必ずセミコロンで終わっている必要があります。
$hoge = 'hoge';
echo $hoge;
いくつかおかしい部分がありますので、見直してみて下さい。
jim912さん、ありがとうございました。
local環境で半日かかってしまいましたが、何とか正常動作を確認し、サーバへuploadしました。
大変勉強になりました。 基本の大切さを痛感しています。 感謝です。
以下のコーディングで落ち着きました。
<?php
/**
*front_pageのみ、graphene_header_imageを/image/○×.png に決め打ち表示する
*/
?>
<?php if (is_front_page()) { ?>
<div id="header" style="background-image:url(<?php echo get_stylesheet_directory_uri() ?>/images/○×.png)">
<?php } else { ?>
<div id="header" style="background-image:url(<?php echo $header_img; ?>)">
<?php } ?>
今後とも、よろしくお願いいたします。