2016-06-09 111 views
1

Я использую WooCommerce, и я хочу показать баннер категории продукта на странице продукта. для продакт-категории я использовал этот код:WooCommerce добавляет баннер категории на страницу продукта

add_action('woocommerce_archive_description', 'woocommerce_category_image', 2); 
function woocommerce_category_image() { 
    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); 
     if ($image) { 
      echo '<img src="' . $image . '" alt="" class="cat_ban"/>'; 
     } 
    } 
} 

и для страницы продукта я использую подобный код с некоторыми изменениями, но он не работает, может кто-то один момент мне мою ошибку?

add_action('woocommerce_archive_description', 'woocommerce_product_image', 2); 
function woocommerce_product_image() { 
    if (is_product()){ 
     global $post; 
     $terms = get_the_terms($post->ID, 'product_cat'); 
     $cat = $terms->term_id; 
     $thumbnail_id = get_woocommerce_term_meta($cat->term_id, 'thumbnail_id', true); 
     $image = wp_get_attachment_url($thumbnail_id); 
     if ($image) { 
      echo '<img src="' . $image . '" alt="" class="cat_ban"/>'; 
     } 
    } 
} 

ответ

1

нашел решение самостоятельно, надеюсь, это поможет вам:

add_action('woocommerce_before_single_product', 'woocommerce_product_image', 2); 
function woocommerce_product_image(){ 

    $product_cats = wp_get_post_terms(get_the_ID(), 'product_cat'); 

    if ($product_cats && ! is_wp_error ($product_cats)){ 

     $cat = array_shift($product_cats); 
     $thumbnail_id = get_woocommerce_term_meta($cat->term_id, 'thumbnail_id', true); 
     $image = wp_get_attachment_url($thumbnail_id); 
     $category_link = get_category_link($cat); 
     if ($image) { 
      echo '<a href="' .$category_link. '"><img src="' . $image . '" alt="" class="cat_ban"/></a>'; 
     } 
    } 
} 
0

Вы можете добавить категорию баннер для использования на странице продукта этот код -

add_action('woocommerce_before_single_product', 'woocommerce_add_category_banner', 2); 
function woocommerce_add_category_banner() 
{ 
    global $product; 
    if (isset($product) && is_product()) 
    { 
     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); 
     if ($image) 
     { 
      echo '<img src="' . esc_url($image) . '" alt="" />'; 
     } 
    } 
    } 
Смежные вопросы