【WordPress】複数画像アップロードとその取得/表示する方法

wordpress-logo-stacked-rgb

2012年06月26日(火)

  投稿に対して 複数画像をアップロードした際に、 その投稿画面で複数画像を表示する方法。 (個人のやり方なので参考までに…) 投稿画面で画像の投稿はできますが、 表示する際にその画像をカスタマイズする事はできなかったのでやってみました。       具体的に言うと、 投稿した複数の画像をスライドショーにして表示させたいわけですわ。   そのためには、 複数アップロードするやり方 アップロードしたファイルパスの取得方法 が必要ですね。     で、複数画像アップロードに関してはもう実装されてます。 (2012年時点で) ただ、そのデータを取得する際に取得しやすいように、 今回はカスタムフィールドを使用しました。 具体的には以下のような形になります。 (今回僕はカスタムフィールドテンプレートを使用しております。)  
— [fileUpload] type = file relation = true multiple = true multipleButton = true label = 画像ファイルアップロード —
  これで該当の投稿に対して、 カスタムフィールドが追加されました。                         そしたら通常の投稿通りに記入して、 複数画像を参照させちゃいましょう!                     完了したら「保存」します。 そんで公開すればいつものようになると思います。   しかしこれだけでは表示されないので、 次は表示方法です。   単数の場合は、以前紹介した get_post_meta で取得できるのですが、 今回は複数なのでやり方が変わります。   自分でも結構ぐぐったんですが、 あまり見つからなかったので自作しちゃいました。     以下が表示方法になります。(表示するテンプレートファイル等に記載してください) wordpressのループの中で記述してみてください。
/*
* カスタムフィールドで複数画像アップロードデータ取得
*/
// 現在の登校IDに対するcustomデータ取得
$imgdata = get_post_custom($post->ID);
// custumデータのカスタムフィールドで追加した項目「fileUpload」データの取得
foreach($imgdata['fileUpload'] as $image){
// 画像リンク生成
echo wp_get_attachment_link($image);
//echo wp_get_attachment_link(get_attached_file($image));
}
  これでアップロードしたパスに対する画像リンクが作成されるので、 あとはいかようにもカスタマイズできますね♪ 少しばかりWordPressのDBカラムの構造と関数調査に手こずりましたが、 完成してみればそれほど大したことないですね!! あとこの場合は表示順は アップロードした順(すなわち古い順) になりますので運用で使用する際は注意が必要ですね。     ではまた! ※WordPress祭り継続中!!  

スポンサードリンク

運営サービスPR

スポンサードリンク

運営サービスPR