Come sconfiggere “pagine blog Visualizza al massimo __ messaggi” impostazione nel ciclo?
-
16-10-2019 - |
Domanda
Sto usando questo script sulla mia archive.php per elencare un elenco di link di tutti i messaggi contenuti nella categoria corrente. Tuttavia, la sua limitando il numero di risultato relativo al numero assegnato a "Impostazioni> Reading> Entra pagine mostrano Alla maggior parte _ i messaggi".
In altre parole, ci possono essere 10 i messaggi che si trovano in questa categoria, ma è solo la visualizzazione fino al numero assegnato in quel contesto.
Come posso cambiare il mio script per ignorare questa impostazione?
<?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; } ?>
Soluzione
Invece di usare il ciclo di default, forse prova a costruire il proprio interrogazione
.In sostanza, sembrerà qualcosa di simile:
$your_posts = get_posts('cat=123&posts_per_page=123');
foreach ($your_post as $post) {
do_something-with($post);
}
È possibile visualizzare tutti i messaggi di utilizzare il 'posts_per_page'=>-1
param o nopaging=true
.
(non so perché qualcuno ha votato questo giù? IMHO ha detto persona dovrebbe commentare quanto la questione dovrebbe essere migliorata se lei o lui sta per farlo.)
Altri suggerimenti
Per modificare l'impostazione posts_per_page
su base contestuale, l'approccio migliore è quello di filtrare la query tramite callback pre_get_posts
. Ad esempio, per impostare posts_per_page
a 10 per una categoria specifica (ad esempio, categoria 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' );
Si noti che è possibile passare alcuna impostazione valida per posts_per_page
.
Se si vuole fare qualcosa di diverso dalle impostazioni predefinite automagici consentono, è necessario prendere il controllo del ciclo. Leggi la documentazione su The Loop e prendere avviso particolare della sezione denominata cicli multipli. Essa mostra modi alternativi di creazione di query e la visualizzazione di cose. Si dovrebbe anche dare un'occhiata alla WP_Query come questo è la chiave per quello che sta succedendo qui.