2009-07-23 7 views
0

Scheint wie das Problem mit dieser ist die PHP-Syntax, aber kein Glück in Wordpress-Foren. Dieser erste Codeblock erzeugt einen Link zum neuesten Post in der Kategorie "Posts". SeineIst die Syntax mit diesem PHP-Code für Wordpress problematisch?

<?php $my_query = new WP_Query('category_name=posts&showposts=1'); ?> 
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?> 
    <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> 
<?php endwhile; ?> 

Dies sollte nächster Codeblock mit dem Schlüssel des benutzerdefinierten Feldes für den neuesten Beitrag in „Beiträgen“, die benutzerdefinierten Felddaten angezeigt werden „qanda.“ Aber es tut es nicht und es zeigt nichts an.

<?php $my_query = new WP_Query('category_name=posts&showposts=1'); ?> 
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?> 
    <?php echo get_post_meta($post->ID, "qanda", $single = true); ?> 
<?php endwhile; ?> 

Danke, Mark

+1

Aaaah, alle die Öffnungs- und Schließ Tags sind meine Augen brennen. –

+1

Sampson

+0

Yup, ich weiß: es ist Wordpress. Sie machen PHP leicht zu analysieren für diejenigen von uns, die gerade lernen! Reinige Deine Augen mit reinem PHP .... – markratledge

Antwort

1

versuchen, Ihre zweite Abfrage umbenennen, ansonsten wird denken, Wordpress es bereits

getan wird
<?php 

$my_other_query = new WP_Query('category_name=posts&showposts=1'); 

while ($my_other_query->have_posts()) : $my_other_query->the_post(); 
echo get_post_meta($post->ID, "qanda", true); 
endwhile; 
?> 
+0

Eigentlich interessiert sich Wordpress nicht für Schleifen innerhalb der Hauptschleife. Ich habe andere neue WP_Queries auf der gleichen Seite ohne Problem ausgeführt. Aber ich habe deinen Code ausprobiert und es hat keinen Unterschied gemacht. – markratledge

+0

Ah-hah: Der Trick ist, $ my_query-> post-> ID anstelle von $ post-> ID Also, Sie haben Recht, in gewisser Weise, weil mit einfach $ Post-> ID Wordpress denkt Die Abfrage ist abgeschlossen, aber $ my_query-> post-> ID gibt diese bestimmte Abfrage-Schleife an. Vielen Dank.... – markratledge

1

Apart fromthat sollte $single = true nur sein true es OK sieht ... versuchen var_dump statt echo und sehen, was Sie erhalten.

+0

var_dump wirft einen unerwarteten T-String-Fehler, also denke ich, ich weiß nicht, was ich damit mache, das zu versuchen .... – markratledge

+0

Hast du Klammern gesetzt? Es ist eine Funktion (ungleich echo) – Greg

+0

Sieht so aus, als ob ich herausgefunden habe, wie man var_dump benutzt, und ich habe eine "falsche" Ausgabe bekommen. Bedeutet das, dass ich die Post-ID nicht bekomme? (Nur PHP lernen ...) – markratledge

0

Sie müssen vielleicht etwas anderes benennen. Wordpress könnte denken, dass Sie diese Reihe von Posts bereits erledigt haben, also fängt es am Ende an, was bedeutet, dass es keine Posts mehr zu verarbeiten gibt.

+0

Guter Punkt, aber sehen Sie meinen Kommentar zu Pixeline; Wordpress scheint das nicht zu kümmern. Irgendwie überrascht es nicht. – markratledge

+0

Guter Punkt; siehe Pixel. Vielen Dank. – markratledge

Verwandte Themen