Wie erhalte ich Wordpress eine frühere Beiträge Abfrage außer Kraft zu setzen?
Frage
Ich habe eine Seite bekommt, die eine Kategorieliste an der Spitze hat, und soll in der Regel Liste Beiträge darunter. Die Kategorieliste wird erstellt mit:
<?php $display_categories = array(4,7,8,9,21,1); $i = 1;
foreach ($display_categories as $category) { ?>
<?php single_cat_title(); ?> //etc
</div>
<?php } ?>
Dies scheint jedoch die Post-Schleife, um Beiträge Kategorie zu machen. Ich will es Kategorie Bestellung und nach Datum geordnet in absteigender Reihenfolge ignorieren. Ich habe ein neues WP_Query erstellt den docs da nach nicht query_posts verwenden können () zweimal, so für alle Fälle.
<?php $q = new WP_Query("cat=-1&showposts=15&orderby=date&order=DESC");
if ( $q->have_posts() ) : while ( $q->have_posts() ) : $q->the_post(); ?>
the_title(); // etc
endwhile; endif; ?>
Dies ist jedoch noch scheint nach Kategorie (die gleiche Reihenfolge wie die Liste oben) und dann nach dem Datum zu bestellen, im Gegensatz zu nur nach Datum.
Lösung
Ich habe vor als auch Probleme damit hatte.
Versuchen Sie folgendes:
<?php
global $post;
$myposts = get_posts('numberposts=5');
foreach($myposts as $post) :
setup_postdata($post);
?>
<div <?php post_class(); ?>>
<div class="title">
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p class="small"><?php the_time('F j, Y'); ?> by <?php the_author(); ?></p>
</div>
<?php the_excerpt(); ?>
</div>
<?php
endforeach;
?>
Die wichtige Zeile ist "global $ post;
.Das sollte Ihre globale Abfrage zurückgesetzt. Die ‚setup_postdata ($ post) Methode notwendig ist, um Sie zu Funktionen wie Zugriff auf 'the_author ()' oder 'the_content ()'.
-Chris
Andere Tipps
Ich habe keine Erfahrung mit Wordpress, aber ein paar Möglichkeiten:
- Sie definieren die „Ordnung“ Parameter zweimal in der Zeichenfolge Sie
query_posts()
mit anrufen, ich weiß nicht, ob das ein Problem verursacht oder nicht. - Wie gut, „Show“ ist kein gültiger Parameter, Sie wurde möglicherweise die Suche nach „showposts“.
Parameter und die Auswirkungen werden hier beschrieben: http://codex.wordpress.org/Template_Tags/query_posts#Parameters
query_posts ist manchmal pingelig. Versuchen Sie so etwas wie diese und sehen, ob es funktioniert:
query_posts(array('category__not_in'=>array(1),
'showposts'=>15,
'orderby'=>date,
'order'=>DESC));
Da dies nicht das Problem ist, versuchen Sie, update_post_caches ($ posts) in die zweite Schleife, wie folgt aus:
<?php $q = new WP_Query("cat=-1&showposts=15&orderby=date&order=DESC");
if ( $q->have_posts() ) : while ( $q->have_posts() ) : $q->the_post(); update_post_caches($posts); ?>
the_title(); // etc
endwhile; endif; ?>
Angeblich soll diese löst einige Probleme Plugin .