小さな広告代理店 OFFICE LIFTING

お客様のやりたいこと、販促からウェブサイト制作までトータルにサポートします。

TEL06-4961-8024

〒661-0021 兵庫県尼崎市名神町2-9-1-302

カスタムフィールドとAD Galleryの連携

カスタムフィールドとAD Galleryの連携

http://coffeescripter.com/code/ad-gallery/#ad-image-0

AD Gallery公式サイト

AD Galleryの動作、デザインがクライアント様の求めるものに近かったので使用することに。ただAD Galleryはもともとフォルダー内に用意されたサムネールとオリジナル画像を表示するスライダープラグインなので、カスタムフィールドを使用した投稿時に作られるサムネールも同時に自動で読み込ませる必要があり、下記のサイトを参考にfunctionを追加し任意のサイズで書き出すことができるようし、無事表示することができるようになった。

WordPressのカスタムフィールドにアップロードした画像のサムネイルとか中サイズとか取得するfunction

//カスタムフィールドのサムネイル取得
function get_cs_image($id,$size,$metaname){
global $wpdb;
$array1 = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE post_id='$id' AND meta_key='$metaname'",ARRAY_A);
$imgf = $array1[0]["meta_value"];
$mid = strrchr($imgf,"/");

$array2 = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_value LIKE '%$mid' AND meta_key='_wp_attached_file'",ARRAY_A);
$pid = $array2[0]["post_id"];

$array3 = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE post_id='$pid' AND meta_key='_wp_attachment_metadata'",ARRAY_A);
$value = $array3[0]["meta_value"];
$array4 = unserialize($value);
$thum = "/".$array4[sizes][$size][file];

return str_replace($mid,$thum,$imgf);
}
gallery部分のソースを下記に記載

<div id="gallery">
    <div></div>
    <div></div>
    <div>
        <div>
			<ul>
			<?
			query_posts(
			Array(
			'post_type' => 'カスタム投稿タイプ名',
			'orderby' => 'date',
			'order' => 'DESC',
			'posts_per_page' => -1,
			'paged' => $paged,
			)
			);
			while ( have_posts() ) : the_post();
			?>
			<li><a href="<?php $pid = $post->ID; $thumbimg = get_cs_image($pid,large,カスタムフィールド名); echo $thumbimg;?>"><img src="<?php $pid = $post->ID; $thumbimg = get_cs_image($pid,thumbnail,カスタムフィールド名); echo $thumbimg;?>" alt="<?php the_title(); ?>" height="65" /></a></li>
			<?php
			endwhile;
			?>
	        </ul><!-- /ad-thumb-list -->
        </div><!-- /ad-thumbs -->
    </div><!-- /ad-nav -->
</div><!-- /gallery -->

»

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です