任意のディレクトリーに画像があれば表示する

digipoke 56views 更新:2016年5月6日

カスタムフィールドの値を利用して、任意のディレクトリーに画像があれば表示する
(wordpress本体をwpディレクトリーに設置している場合)

■functions.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 item_photo_function(); ?>

ECショップの商品ページによくある長ーい商品説明画像を分割して読み込む場合に便利

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません