Cum să crești numărul de articole afișate pe pagina de arhivă în WordPress
În prezent, pagina de arhivă a site-ului meu afișează 5 articole pe pagină. Am nevoie să setez acest număr la 100 de articole pe pagină.
(Pagina principală afișează 5 articole pe pagină și nu doresc să o modific)
Iată codul meu din archive.php:
<?php get_header(); ?>
<?php do_atomic( 'before_content' ); // my-life_before_content ?>
<div id="content">
<?php if (have_posts()) : ?>
<?php $post = $posts[0]; // Hack. Setează $post pentru a funcționa the_date(). ?>
<?php /* Dacă este o arhivă de categorie */ if (is_category()) { ?>
<h2>Arhivă pentru categoria ‘<?php single_cat_title(); ?>’</h2>
<?php /* Dacă este o arhivă de etichete */ } elseif( is_tag() ) { ?>
<h2>Articole etichetate ‘<?php single_tag_title(); ?>’</h2>
<?php /* Dacă este o arhivă zilnică */ } elseif (is_day()) { ?>
<h2>Arhivă pentru <?php the_time('F jS, Y'); ?></h2>
<?php /* Dacă este o arhivă lunară */ } elseif (is_month()) { ?>
<h2>Arhivă pentru <?php the_time('F, Y'); ?></h2>
<?php /* Dacă este o arhivă anuală */ } elseif (is_year()) { ?>
<h2>Arhivă pentru <?php the_time('Y'); ?></h2>
<?php /* Dacă este o arhivă de autor */ } elseif (is_author()) { ?>
<h2>Arhivă autor</h2>
<?php /* Dacă este o arhivă paginată */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
<h2>Arhivă blog</h2>
<?php } ?>
<?php if ( is_paged() || count($posts) >= get_option('posts_per_page') ) : ?>
<div class="post_meta archive_pagination">
<div class="left"><?php next_posts_link('« Articole mai vechi') ?></div>
<div class="right"><?php previous_posts_link('Articole mai noi »') ?></div>
<div class="clearer"> </div>
</div>
<?php else : ?>
<div class="content_separator"></div>
<?php endif;?>
<?php while (have_posts()) : the_post(); ?>
<div class="archive_post">
<div class="archive_post_date">
<div class="archive_post_day"><?php the_time('j') ?></div>
<div class="archive_post_month"><?php echo strtoupper(get_the_time('M')); ?></div>
</div>
<div class="archive_post_title">
<h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Legătură permanentă către <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
<div class="post_date">Publicat în: <div class="freetory"><?php the_category(', ') ?></div> |<div class="freetory"><?php the_tags(' '); ?></div></div>
</div>
<div class="clearer"> </div>
</div>
<?php endwhile; ?>
<?php if ( is_paged() || count($posts) >= get_option('posts_per_page') ) : ?>
<div class="post_meta archive_pagination">
<div class="left"><?php next_posts_link('« Articole mai vechi') ?></div>
<div class="right"><?php previous_posts_link('Articole mai noi »') ?></div>
<div class="clearer"> </div>
</div>
<?php endif;?>
<?php else : ?>
<p>Nu s-au găsit articole.</p>
<?php endif; ?>
<?php do_atomic( 'close_content' ); // my-life_close_content ?>
<?php get_template_part( 'loop-nav' ); // Încarcă template-ul loop-nav.php. ?>
</div><!-- #content -->
<?php do_atomic( 'after_content' ); // my-life_after_content ?>
<?php get_footer(); // Încarcă template-ul footer.php. ?>
Am creat pagina de arhivă folosind două teme: "Omega" + Quietude

Puteți folosi pre_get_posts
în fișierul functions pentru a modifica interogarea
function wpsites_query( $query ) {
if ( $query->is_archive() && $query->is_main_query() && !is_admin() ) {
$query->set( 'posts_per_page', 100 );
}
}
add_action( 'pre_get_posts', 'wpsites_query' );

Cel mai simplu lucru de făcut în loc să editezi fișierele temei (și dacă ești nou în WordPress) este să folosești un plugin precum Custom Post Limits « WordPress Plugins.
Poți schimba limitele postărilor pentru orice parametru: postări pe pagina principală, rezultatele căutării, rezultatele arhivelor, categorii, autori, etc. Este un plugin ușor care este foarte versatil.
(Și creează o temă copil dacă editezi fișierele temei: Child Themes « WordPress Codex)
