如何使用不同大小的类别图像

时间:2017-08-15 10:24:36

标签: php wordpress woocommerce

希望有人能提供帮助。

我正在建立一个WooCommerce网站,但我遇到了类别图片的问题。

当您点击商店时,会出现一个包含各种类别缩略图的页面。当您单击缩略图时,您将进入包含与该类别相关的产品的页面。

我正在寻找的是然后使用上一页中相同的类别图像作为标题。问题是图像的尺寸不同,即全尺寸。

我在functions.php中规定了一个名为feat-img的大小,但我似乎无法弄清楚如何使用它。

以下是我用于显示类别图像的代码:

<?php
            if (is_product_category()){
                global $wp_query;
                $cat = $wp_query->get_queried_object();
                $thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true ); 
                $image = wp_get_attachment_url( $thumbnail_id ); 
                echo '<img class="img-responsive" src="'.$image.'" alt="" />';
            }
        ?>

任何帮助都会赞赏我如何使用&#39; feat-img&#39;大小

由于

1 个答案:

答案 0 :(得分:0)

首先在functions.php中定义,如下所示

add_image_size('300pxSize',300,300);
add_image_size( 'full-width-ratio', 600, 9999 );
add_image_size( 'full-width-crop', 600, 300, true );
add_image_size( 'full-width-crop-h200', 600, 200, true );

//get featured image
function f_image($id,$width="300pxSize") {
    $postThumbnailId = get_post_thumbnail_id( $id );
    $imgsrc = wp_get_attachment_image_src( $postThumbnailId, $width);

    return  $imgsrc[0];
}
// Check if post has image
function hasFeaturedImage($id) {
    $fImg = f_image($id);
    if($fImg)
    {
        return true;
    }
    return false;
}

然后在你的页面中调用(例如single.php),如下所示:

  <?php if(have_posts()) : while(have_posts()) : the_post(); ?>
    <?php if(hasFeaturedImage(get_the_ID())) : ?>
      <div class="single-post-image">
        <img src="<?php echo f_image(get_the_ID(),"full-width-crop"); ?>" alt="">
      </div>
    <?php endif; ?>
  <?php endwhile;endif;wp_reset_query(); ?>