2012-10-03 54 views
9

utilizo este código en PHP:Cómo mostrar la imagen de categoría de Woocommerce?

$idcat = 147; 
$thumbnail_id = get_woocommerce_term_meta($idcat, 'thumbnail_id', true); 
$image = wp_get_attachment_url($thumbnail_id); 
echo '<img src="'.$image.'" alt="" width="762" height="365" />'; 

Dónde 147 es el ID de corriente ajustado manualmente, pero necesito Identificación del actual en otras categorías

Cualquier sugieren?

+1

¿Cuál es exactamente la pregunta? ¿Necesita recuperar la imagen de la categoría para la identificación de la categoría actual sin configurarla explícitamente? – doublesharp

+0

Disculpe mi inglés, necesito mostrar la imagen de la categoría actual del producto woocommerce. – MrRoman

Respuesta

33

Para mostrar la imagen de la categoría de la categoría que se muestra actualmente en archive-product.php, utilice la categoría actual term_id cuando is_product_category() es cierto:

// verify that this is a product category page 
if (is_product_category()){ 
    global $wp_query; 

    // get the query object 
    $cat = $wp_query->get_queried_object(); 

    // get the thumbnail id using the queried category term_id 
    $thumbnail_id = get_woocommerce_term_meta($cat->term_id, 'thumbnail_id', true); 

    // get the image URL 
    $image = wp_get_attachment_url($thumbnail_id); 

    // print the IMG HTML 
    echo "<img src='{$image}' alt='' width='762' height='365' />"; 
} 
+0

Te agradece tu respuesta, pero no funciona bien, porque "is_category" en la plantilla woocommerce es "categoría_producto_sin" y "get_query_var ('cat')" -> "cat"? ¿Alguna sugerencia? Im utilizando plantillas de woocommerce para anular woocommerce predeterminado. Y estoy editando la plantilla product-archive.php. – MrRoman

+0

¿Te refieres a archive-product.php? Esta es la plantilla que se utiliza para la página principal de la tienda, así como para los archivos de etiquetas, por ejemplo '/ product-tag/TAG-NAME'. Si ese es el caso, supongo que está tratando de obtener la imagen de categoría para cada producto en el ciclo. ¿O está viendo una sola categoría de producto y necesita mostrar la imagen para esa categoría, por ejemplo '/ product-category/CATEGORY'? – doublesharp

+0

Sí, es/categoría de producto/CATEGORÍA, cuando creo una nueva categoría, puedo cargar una imagen desde el administrador de woocommerce. P. D .: en español (mi lengua materna :)) es/categoria-producto/categoria – MrRoman

2

También es posible que se usa bucle foreach imagen de la categoría de visualización para y etc de la categoría de los padres dada por padre id.

por ejemplo, estoy dando 74 id de categoría principal, luego voy a mostrar la imagen de la categoría infantil y su babosa también.

**<?php 
$catTerms = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC', 'child_of'=>'74')); 
foreach($catTerms as $catTerm) : ?> 
<?php $thumbnail_id = get_woocommerce_term_meta($catTerm->term_id, 'thumbnail_id', true); 

// get the image URL 
$image = wp_get_attachment_url($thumbnail_id); ?> 
<li><img src="<?php echo $image; ?>" width="152" height="245"/><span><?php echo $catTerm->name; ?></span></li> 
<?php endforeach; ?>** 
0

Usar este código puede ayudar a you.i han pasado el gato Identificación 17.pass WooCommerce Identificación del gato y eso es todo

<?php 
     global $woocommerce; 
     global $wp_query; 
     $cat_id=17; 
     $table_name = $wpdb->prefix . "woocommerce_termmeta"; 
     $query="SELECT meta_value FROM {$table_name} WHERE `meta_key`='thumbnail_id' and woocommerce_term_id ={$cat_id} LIMIT 0 , 30"; 
     $result = $wpdb->get_results($query); 

     foreach($result as $result1){ 
      $img_id= $result1->meta_value; 
     }  

     echo '<img src="'.wp_get_attachment_url($img_id).'" alt="category image">'; 
    ?> 
1

Desde la página WooCommerce:

// WooCommerce – display category image on category archive 

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="" />'; 
     } 
    } 
} 
0

Para pantalla Woocommerce Categoría imagen

utilice este código -

add_action('woocommerce_archive_description', 'woocommerce_category_image', 20); 
function woocommerce_category_image() 
{ 
    global $product; 
    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="' . esc_url($image) . '" alt="" />'; 
     } 
    } 
    } 
2

Para evitar que las imágenes completas categoría tamaño de página desaceleración, puede utilizar las imágenes más pequeñas con wp_get_attachment_image_src():

<?php 

$thumbnail_id = get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true); 

// get the medium-sized image url 
$image = wp_get_attachment_image_src($thumbnail_id, 'medium'); 

// Output in img tag 
echo '<img src="' . $image[0] . '" alt="" />'; 

// Or as a background for a div 
echo '<div class="image" style="background-image: url("' . $image[0] .'")"></div>'; 

?> 

EDIT: Fijo nombre de la variable y la falta de presupuesto

Cuestiones relacionadas