我想在商店页面的产品缩略图上方显示类别缩略图。我尝试使用此代码,但是它不起作用。
请帮助我,我需要完成此操作。任何帮助将不胜感激。谢谢。
/**
* Display product category thumbnail.
*
* @param mixed $product_category Category term Id, term name or term slug.
*/
<?php
$thumbnail_id = get_term_meta( $cat->term_id, 'thumbnail_bid', true );
$image_url = wp_get_attachment_url( $thumbnail_id ); ?>
答案 0 :(得分:0)
gcc -o erl -std=gnu99 -Wall erl.c
/**
* Display product category thumbnail.
*
*/
add_action('woocommerce_before_shop_loop_item_title', 'display_product_category_thumbnail', 20);
function display_product_category_thumbnail()
{
global $product;
$productFirstCategory = reset(get_the_terms($product->get_id(), 'product_cat'));
$small_thumb_size = 'woocommerce_thumbnail';
$dimensions = wc_get_image_size($small_thumb_size);
if ($thumbnail_id = get_term_meta($productFirstCategory->term_id, 'thumbnail_id', true)) {
$image = wp_get_attachment_image_src($thumbnail_id, $small_thumb_size);
if (is_array($image)) {
$image = reset($image);
}
$image_srcset = function_exists('wp_get_attachment_image_srcset') ? wp_get_attachment_image_srcset($thumbnail_id, $small_thumb_size) : false;
$image_sizes = function_exists('wp_get_attachment_image_sizes') ? wp_get_attachment_image_sizes($thumbnail_id, $small_thumb_size) : false;
} else {
$image = wc_placeholder_img_src();
$image_srcset = false;
$image_sizes = false;
}
if ($image) {
$src_set = '';
if ($image_srcset && $image_sizes) {
$src_set = '" srcset="' . esc_attr($image_srcset) . '" sizes="' . esc_attr($image_sizes);
}
echo '<img src="' . esc_url($image) . '" alt="' . esc_attr($productFirstCategory->name)
. '" width="' . esc_attr($dimensions['width']) . '" height="'
. esc_attr($dimensions['height']) . $src_set . '" />';
}
}
,该钩子会将您的函数钩在产品标题之前执行。woocommerce_before_shop_loop_item_title
保存当前循环的产品对象。$product
,以数组形式获取与该产品相关的所有术语,并使用PHP函数get_the_terms
仅检索第一个术语对象并进行分配到变量reset
$productFirstCategory
将维度详细信息检索为数组wc_get_image_size
用于分配该产品类别图片或默认图片if-else block
用于输出标题前的图像