Увеличение количества записей на странице архива
В настоящее время на странице архива моего сайта отображается 5 записей на странице. Мне нужно установить значение 100 записей на страницу.
(На главной странице отображается 5 записей, и я не хочу это менять)
Вот мой файл 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]; // Хак. Устанавливаем $post для работы the_date(). ?>
<?php /* Если это архив категории */ if (is_category()) { ?>
<h2>Архив категории ‘<?php single_cat_title(); ?>’</h2>
<?php /* Если это архив метки */ } elseif( is_tag() ) { ?>
<h2>Записи с меткой ‘<?php single_tag_title(); ?>’</h2>
<?php /* Если это ежедневный архив */ } elseif (is_day()) { ?>
<h2>Архив за <?php the_time('j F Y'); ?></h2>
<?php /* Если это месячный архив */ } elseif (is_month()) { ?>
<h2>Архив за <?php the_time('F Y'); ?></h2>
<?php /* Если это годовой архив */ } elseif (is_year()) { ?>
<h2>Архив за <?php the_time('Y'); ?></h2>
<?php /* Если это архив автора */ } elseif (is_author()) { ?>
<h2>Архив автора</h2>
<?php /* Если это разбитый на страницы архив */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
<h2>Архив блога</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('« Старые записи') ?></div>
<div class="right"><?php previous_posts_link('Новые записи »') ?></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="Постоянная ссылка на <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
<div class="post_date">Опубликовано в: <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('« Старые записи') ?></div>
<div class="right"><?php previous_posts_link('Новые записи »') ?></div>
<div class="clearer"> </div>
</div>
<?php endif;?>
<?php else : ?>
<p>Записи не найдены.</p>
<?php endif; ?>
<?php do_atomic( 'close_content' ); // my-life_close_content ?>
<?php get_template_part( 'loop-nav' ); // Загружает шаблон loop-nav.php. ?>
</div><!-- #content -->
<?php do_atomic( 'after_content' ); // my-life_after_content ?>
<?php get_footer(); // Загружает шаблон footer.php. ?>
Я создал страницу архива с помощью двух тем "Omega" + Quietude

Вы можете использовать pre_get_posts
в файле functions.php для изменения запроса
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' );

Самый простой способ (особенно для новичков в WordPress) - вместо редактирования файлов темы использовать плагин, например Custom Post Limits « Плагины WordPress.
Вы можете изменять количество постов для любых параметров: записи на главной странице, результаты поиска, архивы, категории, авторы и т.д. Это легковесный и универсальный плагин.
(И если вы редактируете файлы темы, создайте дочернюю тему: Дочерние темы « WordPress Codex)
