2015-09-29 15 views
8

Lütfen bana nerede yanlış gittiğimi söyle. Ürün özellikli resim gösterilmiyor. Bir ürünün öne çıkan görüntüsünü woocommerce hakkında nasıl edinebilirim?

$args = array('post_type' => 'product', 'posts_per_page' => 80, 'product_cat' => 'profiler', 'orderby' => 'rand'); 

    $loop = new WP_Query($args); 

    while ($loop->have_posts()) : $loop->the_post(); global $product; ?> 

    <div class="dvThumb col-xs-4 col-sm-3 col-md-3 profiler-select profiler<?php echo the_title(); ?>" data-profile="<?php echo $loop->post->ID; ?>"> 

    <img src="<?php get_the_post_thumbnail($loop->post->ID); ?>" data-id="<?php echo $loop->post->ID; ?>"> 

    <p><?php the_title(); ?></p> 

    <span class="price"><?php echo $product->get_price_html(); ?></span>      
    </div> 

Zaten bir çözümüm var arka ucuna

+0

'$ ürün-> get_image ($ boyut, $ attr)' bunu biliyorum –

cevap

22

öne çıkarılan bir görüntü ekledik. Bunu denedim.

+0

kabul cevap ama, $ img_url ne anlamı olduğunu? Bu sadece $ görüntü eko ile çalışacak [0] –

+0

@TonyHensler: Sadece kaldırmak için tembel hissettim hiçbir nokta: P –

3

get_the_post_thumbnail işlevi, özellikli görüntülerin URL'sini değil html döndürür. Öne çıkan resmin post kimliğini almak için get_post_thumbnail_id öğesini kullanmanız ve ardından özellikli görüntünün URL'sini almak için wp_get_attachment_image_src komutunu kullanmanız gerekir.

bu deneyin:

<?php 
$args = array('post_type' => 'product', 'posts_per_page' => 80, 'product_cat' => 'profiler', 'orderby' => 'rand'); 

$loop = new WP_Query($args); 
while ($loop->have_posts()) : $loop->the_post(); global $product; ?> 
    <div class="dvThumb col-xs-4 col-sm-3 col-md-3 profiler-select profiler<?php echo the_title(); ?>" data-profile="<?php echo $loop->post->ID; ?>"> 
     <?php $featured_image = wp_get_attachment_image_src(get_post_thumbnail_id($loop->post->ID)); ?> 
     <?php if($featured_image) { ?> 
     <img src="<?php $featured_image[0]; ?>" data-id="<?php echo $loop->post->ID; ?>"> 
     <?php } ?> 
     <p><?php the_title(); ?></p> 
     <span class="price"><?php echo $product->get_price_html(); ?></span> 
    </div> 
<?php endwhile; ?> 
+0

merhaba limexs zaten çözüm var, ama cevabınız için teşekkürler ... lütfen bana söyleyebilir misiniz Belirli bir ürüne arka uçtan (woocommerce) belirli bir ürüne vermek istediğim alandan hangisini kullanmam gerekiyorsa (SKU veya etiket ya da tanımlayıcı eklemek için başka bir şey). Bu benzersiz tanımlayıcıyı html veri değişkeni olarak kullanmak istediğimden ... umarım aklımı aldım –

+0

Hmm, belki de sorumu anlamıyorum. Post_id zaten kullanıyorsunuz ve bunun ürünü tanımlamak için yeterli olduğunu düşünüyorum. – LIMEXS

+0

limexs: Ben aslında bir projeyi woocommerce'e yükseltiyorum .. bu yüzden zaten var olan –

1

Bu hile yapmak gerekir. Test edildi ve çalışıyor.

<?php 
    $product_meta = get_post_meta($post_id); 
    echo wp_get_attachment_image($product_meta['_thumbnail_id'][0]), 'full'); 
?> 

Parametreleri ihtiyaca göre değiştirebilirsiniz.

+0

ek parantezler var, wp_get_attachment_image ($ product_meta ['_ thumbnail_id'] [0], 'dolu'); –

0

WC 3.0+ sürümlerinde görüntü aşağıdaki kodun altına gelebilir.

$image_url = wp_get_attachment_image_src(get_post_thumbnail_id($item->get_product_id()), 'single-post-thumbnail'); 
echo $image_url[0] 
İlgili konular