I have problems with my pagination. On the first page 5 posts are correctly displayed on the correct template archive-buch.php and also the pagination button, the next page is empty and a wrong template, index.php is loaded.
The existing posts for this problem have not helped me.
I am grateful for any help.
Here ist my archive-buch.php
<?php get_header(); ?>
<?php
// Anzahl der Posts pro Seite
$posts_per_page = 5; // Anzahl der Beiträge pro Seite
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1; // Aktuelle Seite
/*
if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
else { $paged = 1; } */
// WP_Query für den Buch-Post-Typ
$args = array(
'post_type' => 'buch', // Custom Post Type „buch“
'posts_per_page' => $posts_per_page, // Anzahl der Bücher pro Seite
'paged' => $paged, // Aktuelle Seite setzen
'offset' => $posts_per_page * ($paged - 1)
);
// Neue Abfrage erstellen
$query = new WP_Query( $args );
// Debugging - Query überprüfen
/*
echo '<pre>';
print_r( $query );
echo '</pre>';
*/
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post(); ?>
<!-- Ausgabe des Buch-Titels und Inhalts -->
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<div><?php the_excerpt(); // Ausgabe des Auszugs ?></div>
</article>
<?php endwhile; ?>
<!-- Pagination -->
<div class="pagination">
<?php
// Vorherige Seite (Link zur vorherigen Seite anzeigen)
previous_posts_link( '« Vorherige Seite' );
// Nächste Seite (Link zur nächsten Seite anzeigen)
next_posts_link( 'Nächste Seite »', $query->max_num_pages );
?>
</div>
<?php else : ?>
<p>Keine Bücher gefunden.</p>
<?php endif; ?>
<?php
// Reset der Query-Daten
wp_reset_postdata();
?>
<!-- Footer -->
<footer>
<p>© <?php echo date('Y'); ?> - Alle Rechte vorbehalten.</p>
</footer>
<?php wp_footer(); ?>
And here part of my functions.php
function create_buch_post_type() {
$args = array(
'label' => 'Bücher',
'public' => true,
'has_archive' => true, // Stellt sicher, dass ein Archiv vorhanden ist
'rewrite' => array( 'slug' => 'buecher' ), // Rewrite-URL korrekt setzen
'supports' => array( 'title', 'editor', 'excerpt' ),
);
register_post_type( 'buch', $args );
}
add_action( 'init', 'create_buch_post_type' );
Any help is appreciated