6

i'm trying to get the full size image of my category products.

    $prod_categories = get_terms( 'product_cat', array(
        'orderby'    => 'name',
        'order'      => 'ASC',
        'hide_empty' => true
    ));

    foreach( $prod_categories as $prod_cat ) :
        $cat_thumb_id = get_woocommerce_term_meta( $prod_cat->term_id, 'thumbnail_id', true );
        $cat_thumb_url = wp_get_attachment_thumb_url( $cat_thumb_id );
        $term_link = get_term_link( $prod_cat, 'product_cat' );?>

        <a href="<?php echo $term_link; ?>"><img src="<?php echo $cat_thumb_url; ?>" alt="<?php echo $prod_cat->name; ?>" /></a>

    <?php endforeach; wp_reset_query();

The above code works, but it returns an image of 150px x 150 even when adjustments in Woocommerce are like this:

My Woocommerce product settings

I´d like to get a larger size or full size. Thanks!

5

Thanks to Mike Jolley (Woocommerce plugin author) for the solution using: wp_get_attachment_image_src

$prod_categories = get_terms( 'product_cat', array(
        'orderby'    => 'name',
        'order'      => 'ASC',
        'hide_empty' => true
    ));

    foreach( $prod_categories as $prod_cat ) :
        $cat_thumb_id = get_woocommerce_term_meta( $prod_cat->term_id, 'thumbnail_id', true );
        $shop_catalog_img = wp_get_attachment_image_src( $cat_thumb_id, 'shop_catalog' );
        $term_link = get_term_link( $prod_cat, 'product_cat' );?>

        <a href="<?php echo $term_link; ?>"><img src="<?php echo $shop_catalog_img[0]; ?>" alt="<?php echo $prod_cat->name; ?>" /></a>

    <?php endforeach; wp_reset_query();
| improve this answer | |
  • 1
    Great answer. Just a heads up anyone coming across this. get_woocommerce_term_meta is deprecated since version 3.6. Use get_term_meta instead. Tested and working in 5.4.1. – Sam May 11 at 17:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.