カスタムフィールドの値を利用して、任意のディレクトリーに画像があれば表示する
(wordpress本体をwpディレクトリーに設置している場合)
functions.phpに記述
[php]
function item_photo_function() {
//ポストタイトル取得
$parent_title = get_the_title( $post->post_parent );
//画像を保存しているディレクトリー名をカスタムフィールドにセット
$img_id = post_custom(‘img_id’);
$dir = post_custom(‘dir’);
//ディレクトリーが存在するか調べる */
if (is_dir(‘wp/’.$img_id.’/’.$dir)) {
echo ”;
}
else {
echo ‘現在表示できません’;
}
//001.jpg~100.jpgまでループ
for($num = 1; $num <= 100; $num++) {
$num=sprintf ("%03d", $num);
//ファイルのURL
$url = ‘wp/’.$img_id.’/’.$dir.’/’.$img_id.’_’.$num.’.jpg’;
//ファイルが存在するか調べる
if (file_exists($url)) {
//ファイルが読み込み可能か調べる
if (is_readable($url)) {
echo ”;
}
else {
echo ‘ファイルの読み込みができません。<br>’;
}
//title,altをポストタイトルにする場合
echo ‘<img src="/’.$url.’" title="’.$parent_title. ‘" alt="’.$parent_title. ‘">’;
}
else {
echo ”;
}
}
}
[/php]
テンプレート(ループ内)の任意の位置に記述
[php]
<?php item_photo_function(); ?>
[/php]
get_pageを利用して情報を得る
ページIDとディレクトリー名を同じにすれば、カスタムフィールドの値なしでも可能
[php]
$page = get_page(get_the_ID());
[/php]
ECショップの商品ページによくある長ーい商品説明画像を分割して読み込む場合に便利