功能
get_woocommerce_term_meta()
需要术语id而不是术语slug。所以你可以用
get_term_by()
wordpress函数从术语slug获取术语id。
所以你的密码是:
$term_slug = 't-shirts';
$taxonomy = 'product_cat';
$term_id = get_term_by( 'slug', $term_slug, $taxonomy )->term_id;
$thumbnail_id = get_woocommerce_term_meta( $term_id, 'thumbnail_id', true );
$image = wp_get_attachment_url( $thumbnail_id );
// Output
echo '<img src="'.$image.'" alt="" width="50" height="50" />';
测试和工作
添加版本3
(与您的评论相关)
我使用foreach循环进行了一些其他更改,优化了代码并允许您
添加任意数量的产品类别段塞
.
我还添加了术语链接,并做了一些小改动。
<?php
$term_slugs = array('jeans', 't-shirts');
$taxonomy = "product_cat";
// Loop though the term slugs array
foreach ( $term_slugs as $term_slug ):
$term = get_term_by( 'slug', $term_slug, $taxonomy );
if( $term ):
$term_link = get_term_link( $term, $taxonomy );
$thumb_id = get_woocommerce_term_meta( $term->term_id, 'thumbnail_id', true );
$img_src = wp_get_attachment_url( $thumb_id );
?>
<div class="list-item">
<div class="item-image">
<img src="<?php echo $img_src; ?>" alt="" width="50" height="50" />
</div>
<div class="item-name">
<a href="<?php echo $term_link; ?>"><?php echo $term->name; ?></a>
</div>
</div>
<?php endif;
endforeach; ?>