2017-08-22 2 views
3

Ich habe einen benutzerdefinierten Beitragstyp Testimonial und versuche den Titel, Inhalt und das angezeigte Bild anzuzeigen.Get_post zeigt keine Daten an

Dies ist mein Code:

<?php 
$args = array('posts_per_page' => -1, 'post_status' => 'publish', 'post_type' => 'testimonial'); 
$testimonialsposts = get_posts($args); 
?> 
<div class="row"> 
    <?php 
    foreach ($testimonialsposts as $post) 
    { 

    setup_postdata($post); 
    ?> 

    <div class="testimonial-box projectitem"> 
     <img src="<?= get_post_meta($post->ID, '_wp_attached_file', true); ?>"/> 
    </div> 
    <div class="testimonial-contact"> 
     <div class="testimonial-text"><?= get_post($post->ID, 'content', true); ?></div> 
     <div class="testimonial-name"><?= get_post($post->ID, 'post_title', true); ?></div> 
     <?php wp_reset_postdata(); 
     } ?> 
    </div> 

Aber ich nichts bin immer. Als ich versucht habe, die Details nach setup_postdata zu wiederholen, ist das einzige Echo "Array".

Wenn ich den $ post var_dump, zeigt es auch alle Daten.

Das ist, was ich bekomme, wenn ich var_dump$post

Objekt (WP_Post) # 614 (24) {[ "ID"] => int (69) [ "post_author"] => string (1) "1" ["post_date"] => string (19) "2017-08-22 02:26:43" ["post_date_gmt"] => string (19) "2017-08-22 02:26: 43 " [" post_content "] => string (575)" Lorem Ipsum ist einfach Dummy-Text von der Druck-und Satz-Industrie. Lorem Ipsum ist dieIndustrie Standard-Dummy-Text seit den 1500er Jahren, wenn ein unbekannter Drucker nahm eine Galeere von Typ und Rührei t o Machen Sie eine Schriftprobe Buch. Es hat nicht nur fünf Jahrhunderte überlebt, sondern auch den Sprung in elektronischen Satz, im Wesentlichen unverändert geblieben. Es wurde populär in den 1960er Jahren mit der Veröffentlichung von Letraset Blätter mit Lorem Ipsum Passagen, und in jüngerer Zeit mit Desktop Publishing-Software wie Aldus PageMaker einschließlich Versionen von Lorem Ipsum. "[" Post_title "] => string (13)" testimonial_1 "[" post_excerpt "] => string (0)" "[" post_status "] => string (7)" veröffentlichen " [" comment_status "] => string (6)" closed "[" ping_status "] => string (6) "geschlossen" ["post_password"] => string (0) "" ["nachname"] => string (11) "testimonial" ["to_ping"] => string (0) " "[" pinged "] => string (0)" " [" post_modified "] => string (19)" 2017-08-22 02:27:07 " [" post_modified_gmt "] => string (19) "2017-08-22 02:27:07" ["post_cont ent_filtered "] => Zeichenkette (0)" "[" post_parent "] => int (0) [" guid "] => Zeichenkette (63) " http://192.168.0.202/clinic202/?post_type=testimonial&p=69 " [" menu_order "] => int (0) ["post_type"] => string (11) "Zeugnis" ["post_mime_type"] => string (0) "" ["comment_count"] => string (1) "0" ["filter"] => Zeichenkette (3) "roh"}

Was mache ich falsch?

+0

Sie können 'print_r()' anstelle von 'echo()' verwenden, um den Inhalt eines Arrays anzuzeigen.Wenn das nicht hilft, aktualisieren Sie bitte Ihren Post, um zu sagen, ob das Array leer war oder was es enthielt – FluffyKitten

+0

@FluffyKitten ich habe meine qn aktualisiert – Jackson

+0

Sie mussten nicht die ganze Menge, nur lassen Sie uns wissen, dass es funktionierte: -) OK, also Ihre Abfrage funktioniert, aber Sie Schleife ist alles falsch - Sie verwenden 'get_post' aus irgendeinem Grund statt nur mit' get_the_title' oder 'get_the_content', und Sie schließen nicht Ihre' testimonial-Kontakt' div an der richtigen Stelle. – FluffyKitten

Antwort

1

Ich verstehe, dass Sie get_posts verwenden, aber das ist, was ich tun würde, Abfrage der Beiträge und Schleife mit wordpress Schleife statt foreach.

versuchen diese

<?php 
    query_posts(array(
     'post_type' => 'testimonial', 
     'posts_per_page' => -1, 
    )); 
    if (have_posts()) : while (have_posts()) : the_post(); ?> 
    <div class="testimonial-box projectitem"> 
     <?php echo wp_get_attachment_image(get_post_thumbnail_id($post->ID), '', 'false', array("class" => "img-responsive")); ?> 
    </div> 
    <div class="testimonial-contact"> 
     <div class="testimonial-text"><?php the_content();?></div> 
     <div class="testimonial-name"><?php the_title(); ?></div> 

    </div> 
<?php endwhile; endif; 
     wp_reset_postdata(); 
     wp_reset_query(); ?> 

auch Sie foreach innerhalb <div> schließen, die Ihre html Code brechen.

+0

i bin vor, obwohl ein Problem, wenn ich noch ein xtra Zeugnis hinzugefügt wird die Seite gestört und die Zeugnisse angezeigt bekommen dosent. dieser Code funktioniert für eine einzige Zeugnis angezeigt werden .. Warum so – Jackson

+0

versuchen, 'posts_per_page' auf einen Wert und überprüfen Sie, ob es funktioniert. – Regolith