Wie kann man die Einstellung „Blogseiten zeigen höchstens __ Beiträge“ in der Schleife umgehen?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/8982

  •  16-10-2019
  •  | 
  •  

Frage

Ich verwende dieses Skript in meiner archive.php, um eine Linkliste aller in der aktuellen Kategorie enthaltenen Beiträge aufzulisten.Dadurch wird jedoch die Ergebnisanzahl relativ zu der Zahl begrenzt, die „Einstellungen > Lesen > Höchstens angezeigte Blogseiten“ zugewiesen ist _ Beiträge".

Mit anderen Worten: Möglicherweise gibt es 10 Beiträge in dieser Kategorie, es wird jedoch nur die in dieser Einstellung zugewiesene Anzahl angezeigt.

Wie kann ich mein Skript so ändern, dass diese Einstellung ignoriert wird?

<?php if(is_category()) while (have_posts()) : the_post(); ?>
    <li id="post-<?php the_ID(); ?>">
        <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
        <?php the_title(); ?>
        </a> 
        <?php echo get_link_excerpt(); ?>
    </li>
<?php endwhile; } ?>
War es hilfreich?

Lösung

Anstatt die Standardschleife zu verwenden, versuchen Sie es vielleicht Gebäude dein eigenes Abfrage.

Im Grunde wird es ungefähr so ​​aussehen:

$your_posts = get_posts('cat=123&posts_per_page=123');
foreach ($your_post as $post) {
   do_something-with($post);
}

Sie können alle Beiträge anzeigen, indem Sie entweder den Parameter verwenden 'posts_per_page'=>-1 oder nopaging=true.

(Ich bin mir nicht sicher, warum jemand dafür gestimmt hat?Meiner Meinung nach sollte die Person kommentieren, wie die Frage verbessert werden sollte, wenn sie oder er das tun möchte.)

Andere Tipps

Um die zu ändern posts_per_page Kontextbezogene Einstellung besteht am besten darin, die Abfrage per Rückruf zu filtern pre_get_posts. Zum Beispiel einstellen posts_per_page zu 10 Für eine bestimmte Kategorie (z. B. Kategorie -ID 7):

function wpse8982_filter_pre_get_posts( $query ) {
    if ( $query->is_main_query() && is_category( 7 ) ) {
        $query->set( 'posts_per_page', '10' );
    }
}
add_action( 'pre_get_posts', 'wpse8982_filter_pre_get_posts' );

Beachten Sie, dass Sie passieren können jede gültige Einstellung für posts_per_page.

Wenn Sie etwas anderes als die automatischen Standardeinstellungen ermöglichen möchten, müssen Sie die Kontrolle über Ihre Schleife übernehmen. Lesen Sie die Dokumente auf Die Schleife und beachten Sie besondere Kenntnisse des Abschnitts mit der Bezeichnung mehrerer Schleifen. Es zeigt alternative Möglichkeiten, die Abfrage einzurichten und Dinge anzuzeigen. Sie sollten sich auch ansehen Wp_query Da ist das der Schlüssel zu dem, was hier vor sich geht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top