webentwicklung-frage-antwort-db.com.de

benutzerdefinierte Beitragsart kann nicht angezeigt werden

Ich versuche, die vorgestellten Bilder von benutzerdefinierten Beitragstypen zu erhalten. Ich benutze diesen Code. Alle meine Beiträge enthalten Bilder, ich kann sie jedoch nicht anzeigen.

<?php
$posts_array = get_posts(

    array(
        'posts_per_page' => -1,
        'post_type' => 'services',
        'tax_query' => array(
            array(
                'taxonomy' => 'service_categories',
                'field' => 'name',
                'terms' => $device_name,
            )
        )
    )

);

//show devices
//print_r($posts_array);
foreach ($posts_array as $key) {
    //print_r($key);
    if ( has_post_thumbnail() ) {
        the_post_thumbnail();
        echo "yahoo";
    } 

    ?><div class="devices_name_" style="cursor: pointer">
        <div><?php echo the_post_thumbnail($key->ID); ?></div>
        <?php echo $key->post_title; ?>
        <input type="hidden" value="<?php echo $key->ID; ?>" class="devices_ids_"/>
    </div>

<?php
}
?>
1
Chaudhry Waqas

Hier sind einige Gedanken:

  • the_post_thumbnail () gibt bereits ein Echo aus, sodass Sie kein Echo mehr ausgeben können
  • sie könnten stattdessen echo get_the_post_thumbnail () verwenden

Aber in Ihrem Fall verstehe ich nicht wirklich, warum Sie get_posts() verwenden. Meistens verwenden wir es, um Post-Daten abzurufen und andere Behandlungen durchzuführen. Verwenden Sie hier besser Ihre eigene Instanz von WP_Query:

    <?php
    $_posts = new WP_Query (

        array(
            'nopaging'  => true,
            'post_type' => 'services',
            'tax_query' => array(
                array(
                    'taxonomy' => 'service_categories',
                    'field' => 'name',
                    'terms' => $device_name,
                )
            )
        )

    );

    if ( $_posts->have_posts() ) :
        while ( $_posts->have_posts() ) : $_posts->the_post(); ?>
            <div class="devices_name_" style="cursor: pointer">
                <?php if ( has_post_thumbnail() ) : ?>
                    <div><?php the_post_thumbnail(); ?></div>
                <?php endif; ?>
                <?php the_title(); ?>
                <input type="hidden" value="<?php the_ID(); ?>" class="devices_ids_"/>
            </div>
       <?php endwhile; wp_reset_postdata();
   endif;

auf diese Weise können Sie Funktionen verwenden, die innerhalb der Schleife arbeiten. Seien Sie vorsichtig, dass the_post_thumbnail () einen Größenparameter verwendet. Standardmäßig ist es "Post-Thumbnail" -Größe.

0
JMau