Support » Themes » Child von TwentySeventeen – Keine Paginierung

  • Gelöst Kai J.

    (@kjoussen)


    Hallo zusammen.

    Ich habe ein Childtheme zu TwentySeventeen erstellt und ein eigenes Template für Blogeinträge, da ich mehrere verschiedene Kategorien habe, die voneinander unabhängig auf verschiedenen Seiten dargestellt werden.
    Deshalb habe ich unter EINSTELLUNGEN-LESEN auch keine Blog-Page eingestellt.

    Das funktioniert einwandfrei mit folgendem Code

    <?php
    /* 
    * Template Name: Blog-Page
    * Displays Blog-Pages without sidebar
    */ 
    get_header(); ?>
    <div class="wrap">
    	<div id="primary" class="content-area">
    		<main id="main" class="site-main" role="main">
    
    			<?php
    			$listCategory = get_post_meta($post->ID, 'category_name', true);	
    			query_posts('category_name=' . $listCategory);
    			while ( have_posts() ) :
    				the_post();
    				?>
    				<br><br>
    				<?php
    				get_template_part( 'template-parts/page/content', 'page' );
    			endwhile; // End of the loop.
    			?>
    		</main><!-- #main -->
    	</div><!-- #primary -->
    </div><!-- .wrap -->
    <a href="#" class="topbutton"></a>
    <?php
    get_footer();
    

    Wenn ich aber die Anzahl der Blogeinträge unter EINSTELLUNGEN verringere, weil sonst die Seite verteufelt lang wird, fehlen mir unten die Seitenangaben, über die ich zu älteren Posts springen könnte.

    Ich habe schon viel gegoogelt und gesucht und getestet, ich komme aber einfach nicht drauf, wie ich das löse.

    Vielen Dank schon mal.

    Kai

Ansicht von 1 Antwort (von insgesamt 1)
  • Thread-Ersteller Kai J.

    (@kjoussen)

    Über einen recht alten Beitrag in den Tiefen des Internets habe ich es mit ein wenig Gefummel hinbekommen.
    Jetzt kann man unter EINSTELLUNGEN sogar die Maximalzahl einstellen und diese wird in meinem Code berücksichtigt.

    Das geänderte Template sieht nun wie folgt aus:

    <?php
    /* 
    * Template Name: Blog-Page
    * Displays Blog-Pages without sidebar
    */ 
    get_header(); ?>
    <div class="wrap">
    	<div id="primary" class="content-area">
    		<main id="main" class="site-main" role="main">
    			<?php
    			$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    			$listCategory = get_post_meta($post->ID, 'category_name', true);
    			$default_posts_per_page = get_option( 'posts_per_page' );			
    			$args = array(
    			'category_name' => $listCategory,
    			'paged' => $paged,
    			'posts_per_page' => $default_posts_per_page
    			);
    			query_posts($args);
    			while ( have_posts() ) :
    				the_post();
    				?>
    				<br><br>
    				<?php
    				get_template_part( 'template-parts/page/content', 'page' );
    			endwhile; // End of the loop.
    			// Previous/next page navigation.
    			the_posts_pagination( array(
    			'prev_text' => __( 'Previous page', 'MyHamburg' ),
    			'next_text' => __( 'Next page', 'MyHamburg' ),
    			'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'MyHamburg' ) . ' </span>',
    			  ) );
    			?>
    		</main><!-- #main -->
    	</div><!-- #primary -->
    </div><!-- .wrap -->
    <a href="#" class="topbutton"></a>
    <?php
    get_footer();
    
Ansicht von 1 Antwort (von insgesamt 1)
  • Das Thema „Child von TwentySeventeen – Keine Paginierung“ ist für neue Antworten geschlossen.