我正在尝试创建一个自定义循环来显示我网站上的所有WooCommerce类别。它应该相当简单,但我在获取类别缩略图方面遇到了问题。无论我做什么,我似乎最终都会得到全尺寸的图像。下面是我的代码:
$args = array(
'taxonomy' => 'product_cat',
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => false,
'exclude' => '21'
);
echo '<ul>';
foreach( get_categories( $args ) as $category ) :
$thumbnail_id = get_term_meta( $category->term_id,'thumbnail_id', true );
$image = wp_get_attachment_url( $thumbnail_id );
echo '<li><a href="'.$category->slug.'" class="label" title="' . $category->name . '">';
if($image!=""):
echo '<img src="' . $image . '">';
endif;
echo $category->cat_name.'</a></li>';
endforeach;
字符串
我已经搜索过了,但其他人似乎都得到了正确的图像。我得到的是上传的全尺寸图像。我在这里错过了什么吗?有人知道这可能是不正确的原因吗?这可能是一个主题问题?
1条答案
按热度按时间sr4lhrrt1#
将
wp_get_attachment_url()
替换为wp_get_attachment_image()
以获得缩略图大小的图像 (或指定所需的图像大小)。此外,您应该使用
get_term_link()
来获取术语URL,而不是使用术语slug。所以你的代码将是:
字符串
它应该像预期的那样工作。
您可以选择不同的尺寸:
thumbnail
,gallery_thumbnail
,woocommerce_gallery_thumbnail
,woocommerce_single
,single
.