web-dev-qa-db-ja.com

フルサイズの投稿のサムネイルへのリンク

私はこのコードを使っています:

<?php
// get portfolio
$args = array( 'post_type' => 'portfolio', 'posts_per_page' => 100, 'orderby' => 'title', 'order' => 'asc' );
$loop = new WP_Query( $args );    
$port = array();
while ( $loop->have_posts() ) : $loop->the_post();      
        $idx = get_the_ID();
        $year_completed = get_post_meta($idx, 'year_completed', true);
        $website_addr = get_post_meta($idx, 'website_address', true);
        $thumb = get_the_post_thumbnail($idx, 'thumbnail'); //250x200 - featured image
        $title = get_the_title();
        $excerpt = get_the_excerpt();
        $content = get_the_content();

        //get 'Solutions' terms
        $terms = get_the_terms($idx, 'Solutions');
        $terms_string = '';

        //build up comma delimited string
        foreach($terms as $t){
            $terms_string .= $t->slug . ' ';
        }
        $port[] = array(
            'id' => $idx,
            'year_completed' => $year_completed,
            'website' => $website_addr,
            'thumb' => $thumb,
            'title' => $title,
            'content' => $content,
            'excerpt' => $excerpt,
            'terms' => $terms,
            'terms_string' =>$terms_string, //classifications (comma delimited slugs)
            'permalink' => get_permalink(),
        );
endwhile;

$terms = get_terms('Solutions');    

$filters = '<section id="options" class="clearfix">
            <ul id="filters" class="option-set floated clearfix">
            <li><a href="#filter" data-filter="*" class="selected">show all</a></li>';                          

            foreach($terms as $t){          
              $filters .= '<li><a href="#filter" data-filter=".' . $t->slug . '">' . $t->name . '</a></li>';// $t->count
            }
            $filters .= '</ul></section>';
?>  

そして:

<!-- add this inside entry-content -->
<?php echo $filters; ?>                 
<div id="portfolio">

    <!-- isotope -->
    <ul class="thumbnails isotope">
    <?php foreach($port as $p){ ?>
        <li class="span3 element <?php echo $p['terms_string']; ?>">
            <div class="thumbnail">
                <?php echo $p['thumb']; ?>
                <div class="caption">
                  <h5><a href="<?php echo $p['permalink']; ?>"><?php echo $p['title']; ?></a></h5>
                </div><!-- end caption -->
            </div><!-- end thumbnail -->
        </li>
    <?  } //end foreach ?>
    </ul>

</div><!-- end #portfolio -->

これをフルサイズの画像にリンクしたいです。

<?php echo $p['thumb']; ?>
1
ogni

正しいサイズの画像でURLを取得するには、少し手を加える必要があります。

$image_url = wp_get_attachment_image_src( get_post_thumbnail_id( $idx ), "size" );

もちろん、最後に "size"に適切なサムネイルサイズを入れるべきです:) "full"が欲しいようですね。

あなたのwhile変数の中でこれを変数にし、それからあなたの配列の中で、以下のようなものを呼び出します。

'thumb-link' => $image_url[0]

(後世のために、関連情報のためのコーデックス参照: http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src ;ここにリストされたサイズ: http://codex.wordpress.org/Post_Thumbnails

1
jfacemyer