Wie erhalte ich Wordpress eine frühere Beiträge Abfrage außer Kraft zu setzen?

StackOverflow https://stackoverflow.com/questions/608025

  •  03-07-2019
  •  | 
  •  

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.

War es hilfreich?

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:

  1. Sie definieren die „Ordnung“ Parameter zweimal in der Zeichenfolge Sie query_posts() mit anrufen, ich weiß nicht, ob das ein Problem verursacht oder nicht.
  2. 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 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top