Pagination gibt immer 22 Seiten an

  • Jun Tach,

    Ich habe folgendes Problem:

    ich würde gerne in meinem Template eine Pagination einbinden, dass funktioniert soweit, jedoch werden immer 22 Seiten angezeigt unabhängig davon wie viele Posts ich habe.

    Ich nutze WP_Query um die Beiträge zu holen:

    PHP
    $btpgid=get_queried_object_id();$btmetanm=get_post_meta( $btpgid, 'WP_Catid','true' );$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array( 'posts_per_page' => 20, 'category_name' => $btmetanm, 'paged' => $paged,'post_type' => 'post', 'category__in' => wp_get_post_categories($post->ID), 'orderby' => 'date', 'order'   => 'DESC' );    $postslist = new WP_Query( $args );	?><!-- Main --><div class="container"><?php while ( $postslist->have_posts() ) : $postslist->the_post();

    und als Funktion für die Pagination nutze ich:

    PHP
    /*Pgination */function pagination($range = 3, $show_one_pager = true, $show_page_hint = false){    global $wp_query;    $num_of_pages = (int)$wp_query->max_num_pages;    if(!is_single() && $num_of_pages > 1)    {        $current_page = get_query_var('paged') === 0 ? 1 : get_query_var('paged');        $num_of_display_pages = ($range * 2) + 1;                 $output = '<div id="pagination2">';
                     if($current_page > 2 && $current_page > $range + 1 && $num_of_display_pages < $num_of_pages)        {            $output .= '<a href="' . get_pagenum_link(1) . '" title="Seite 1 - Neueste Artikel" class="pgnSteps"><span class="glyphicon glyphicon-backward" aria-hidden="true"></span></a>';        }        if($show_one_pager && $current_page > 1)        {            $output .= '<a href="' . get_pagenum_link($current_page - 1) . '" title="Seite ' . ($current_page - 1) . ' - Neuere Artikel" class="pgnSteps"><span class="glyphicon glyphicon-play icon-flipped" aria-hidden="true"></span></a>';        }         for($i = 1; $i <= $num_of_pages; $i++)        {            if($i < $current_page + $range + 1 && $i > $current_page - $range - 1)            {                if($current_page === $i)                {                    $output .= '<span class="current">' . $i . '</span>';                }                else                {                    $output .= '<a href="' . get_pagenum_link($i) . '" title="Seite ' . $i . '" >' . $i . '</a>';                }            }        }                 if($show_one_pager && $current_page < $num_of_pages)        {            $output .= '<a href="' . get_pagenum_link($current_page + 1) . '" title="Seite ' . ($current_page + 1) . ' - Ältere Artikel"  class="pgnSteps"><span class="glyphicon glyphicon-play" aria-hidden="true"></span></a>';        }        if($current_page < $num_of_pages - 1 && $current_page + $range < $num_of_pages && $num_of_display_pages < $num_of_pages)        {            $output .= '<a href="' . get_pagenum_link($num_of_pages) . '" title="Seite ' . $num_of_pages . ' - Älteste Artikel" class="pgnSteps"><span class="glyphicon glyphicon-forward" aria-hidden="true"></span></a>';        }				if($show_page_hint)        {            $output .= '<br><span>Seite ' . $current_page . ' von ' . $num_of_pages . '</span>';        }         $output .= '</div>';         return $output;    }}

    Das Problem schein zu sein, dass ich bei

    PHP
    $num_of_pages = (int)$wp_query->max_num_pages;

    immer 22 rausbekomme.
    Gibt es eine Möglichkeit die richtige Zahl zu bekommen?

    Ich nutze die Selbe funktion bei categories und da scheint alles zu funktionieren :?:

    PHP
    $btpgid=get_queried_object_id();$btmetanm=get_post_meta( $btpgid, 'WP_Catid','true' );$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array( 'posts_per_page' => 5, 'category_name' => $btmetanm, 'paged' => $paged,'post_type' => 'post', 'category__in' => wp_get_post_categories($post->ID), 'orderby' => 'date', 'order'   => 'DESC', );    $postslist = new WP_Query( $args );	?><!-- Main --><div class="container"><?php while ( $postslist->have_posts() ) : $postslist->the_post();

    Vielen Dank schon mal für die Hilfe;) ich bin für jeden Tipp dankbar :)

    LG

    Treeman

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!