Derzeit werden auf meiner Website-Archivseite 5 Beiträge pro Seite angezeigt. Ich muss es auf 100 Beiträge pro Seite einstellen.
(Meine Homepage zeigt 5 Beiträge pro Seite und ich möchte sie nicht ändern.)
Hier ist meine 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. Set $post so that the_date() works. ?>
<?php /* If this is a category archive */ if (is_category()) { ?>
<h2>Archive for the ‘<?php single_cat_title(); ?>’ Category</h2>
<?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
<h2>Posts Tagged ‘<?php single_tag_title(); ?>’</h2>
<?php /* If this is a daily archive */ } elseif (is_day()) { ?>
<h2>Archive for <?php the_time('F jS, Y'); ?></h2>
<?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
<h2>Archive for <?php the_time('F, Y'); ?></h2>
<?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
<h2>Archive for <?php the_time('Y'); ?></h2>
<?php /* If this is an author archive */ } elseif (is_author()) { ?>
<h2>Author Archive</h2>
<?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
<h2>Blog Archives</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('« Older Entries') ?></div>
<div class="right"><?php previous_posts_link('Newer Entries »') ?></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="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
<div class="post_date">Posted in: <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('« Older Entries') ?></div>
<div class="right"><?php previous_posts_link('Newer Entries »') ?></div>
<div class="clearer"> </div>
</div>
<?php endif;?>
<?php else : ?>
<p>No posts found.</p>
<?php endif; ?>
<?php do_atomic( 'close_content' ); // my-life_close_content ?>
<?php get_template_part( 'loop-nav' ); // Loads the loop-nav.php template. ?>
</div><!-- #content -->
<?php do_atomic( 'after_content' ); // my-life_after_content ?>
<?php get_footer(); // Loads the footer.php template. ?>
Ich habe die Archivseite über zwei Themen "Omega" + Ruhe erstellt
do_atomic()
ist keine WP-Kernfunktion, sondern themen- oder pluginspezifisch. Bitte fragen Sie auf der Support-Route, wie dies erreicht werden kann.Antworten:
Sie können
pre_get_posts
in Ihrer Funktionsdatei die Abfrage ändernquelle
Das Einfachste, anstatt Themendateien zu bearbeiten (und wenn Sie WordPress noch nicht kennen), ist die Verwendung eines Plugins wie Custom Post Limits «WordPress Plugins.
Sie können die Beitragsbeschränkungen für jeden Parameter ändern: Beiträge auf der Startseite, Suchergebnisse, Archivergebnisse, Kategorien, Autoren usw. Es ist ein leichtes Plugin, das sehr vielseitig ist.
(Und erstellen Sie ein untergeordnetes Thema, wenn Sie Themendateien bearbeiten: Untergeordnete Themen «WordPress Codex )
quelle