it-swarm.com.de

So erhalten Sie ein hervorragendes Image eines Produkts im Woocommerce

Bitte sag mir, wo ich falsch liege. Mit dem Produkt gekennzeichnetes Bild wird nicht angezeigt.

   $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>

Ich habe bereits ein gekennzeichnetes Bild im hinteren Bereich hinzugefügt

16
Yo Yo

Ich habe die Lösung ... Ich habe es versucht.

<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $loop->post->ID ), 'single-post-thumbnail' );?>

    <img src="<?php  echo $image[0]; ?>" data-id="<?php echo $loop->post->ID; ?>">
37
Yo Yo

die Funktion get_the_post_thumbnail gibt HTML und nicht URL des vorgestellten Bildes zurück. Sie sollten get_post_thumbnail_id verwenden, um die Post-ID des vorgestellten Bildes abzurufen, und dann wp_get_attachment_image_src, um die URL des vorgestellten Bildes zu erhalten. 

Versuche dies:

<?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; ?>
3
LIMEXS

Die Antworten hier sind viel zu komplex. Folgendes habe ich kürzlich verwendet:

<?php global $product; ?>
<img src="<?php echo wp_get_attachment_url( $product->get_image_id() ); ?>" />

Verwenden Sie wp_get_attachment_url() zum Anzeigen der

2
Jake

In WC 3.0+-Versionen kann das Bild unter dem folgenden Code abgerufen werden.

$image_url = wp_get_attachment_image_src( get_post_thumbnail_id( $item->get_product_id() ), 'single-post-thumbnail' );
echo $image_url[0]
2
Nishad Up

Das sollte den Trick tun. Getestet und funktioniert.

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

Sie können die Parameter nach Ihren Bedürfnissen ändern.

1
Nipuna

Ich würde nur get_the_post_thumbnail_url() anstelle von get_the_post_thumbnail() verwenden.

<img src="<?php echo get_the_post_thumbnail_url($loop->post->ID); ?>" class="img-responsive" alt=""/>
0
Alan

Ich habe das gemacht und es funktioniert super

<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail(); ?></a>
<?php } ?>
0