WordPressでアップロードした画像を記事以外の場所に表示〜その2
前回紹介した方法ですが、いろんな場所で使い回せるように関数にすることに。
その覚え書きです。
PHPはシロウトなのでいろいろと勉強しつつ次のような関数を作成。
function head_img($each_img,$img_alt_value,$img_path){
if($each_img==""){
/*何も表示しない*/
}else{
$img_begin='<img src="';
$img_path=$img_path.'/wp-content/uploads/'.$each_img;/*画像ファイルのパスを設定*/
$img_alt='" alt="'.$img_alt_value;/*画像ファイルのAltを設定*/
$img_end='" width="780" />';echo $img_begin.$img_path.$img_alt.$img_end;
}
}
幅だけ指定しているのは、間違ってでかい画像をアップした時でもレイアウトが崩れないように。
まぁ、画像のアスペクト比が変わるのは目をつぶろう。
テンプレート側はこんな指定をしてあります。
<?php head_img(get_post_meta($post->ID,'トップ画像',TRUE), get_post_meta($post->ID,'トップ画像説明',TRUE),get_option('siteurl')); ?>
ちょっと苦労したのがWordPressのインストールディレクトリの所得。
始めは bloginfo('wpurl') で行けるやん♪と思ってたらできない。
よくかんがえるとこの関数は得た値を画面に出力する関数。関数の引数に使ったり値を変数に代入したりできない。
で、Codexを見てると get_option という関数があるのを発見。これはちゃんと値を返してくれる関数なので使えそう。
パラメータはデータベースの option_name を直接参照すればOKです。
これで、記事と連動してヘッダやフッターの画像を変えることが簡単になりました。
まぁ今のところ使ってるのはヘッダーの画像だけですが…
コメント
この記事へのコメントはありません。
コメントをどうぞ