Antworten auf deine Fragen:
Neues Thema erstellen

Nummerische Pagination will nicht funktionieren

dn3d_fanboy

Aktives Mitglied

Guten Morgen allerseits,

ich versuche anhand diesen Beispiels eine nummerische Pagination in mein Theme einzubauen:
http://www.wpbeginner.com/wp-themes/how-to-add-numeric-pagination-in-your-wordpress-theme/

So habe ich es dann auch in die functions.php eingefügt und den Code leicht abgeändert (aus dem umschließenden <div> wurde <nav> und die Klassen d. Markups habe ich geändert - also nichts, was den PHP-Code betrifft).

PHP:
// Pagination mit Nummern fuer Stellenangebote, CPTs


function wpbeginner_numeric_posts_nav() {

    if( is_singular() )
        return;

    global $wp_query;

    /** Stop execution if there's only 1 page */
    if( $wp_query->max_num_pages <= 1 )
        return;

    $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
    $max   = intval( $wp_query->max_num_pages );

    /**    Add current page to the array */
    if ( $paged >= 1 )
        $links[] = $paged;

    /**    Add the pages around the current page to the array */
    if ( $paged >= 3 ) {
        $links[] = $paged - 1;
        $links[] = $paged - 2;
    }

    if ( ( $paged + 2 ) <= $max ) {
        $links[] = $paged + 2;
        $links[] = $paged + 1;
    }

    echo '<nav class="pagination"><ul>' . "\n";

    /**    Previous Post Link */
    if ( get_previous_posts_link() )
        printf( '<li>%s</li>' . "\n", get_previous_posts_link() );

    /**    Link to first page, plus ellipses if necessary */
    if ( ! in_array( 1, $links ) ) {
        $class = 1 == $paged ? ' class="current-pagination"' : '';

        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );

        if ( ! in_array( 2, $links ) )
            echo '<li>…</li>';
    }

    /**    Link to current page, plus 2 pages in either direction if necessary */
    sort( $links );
    foreach ( (array) $links as $link ) {
        $class = $paged == $link ? ' class="current-pagination"' : '';
        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
    }

    /**    Link to last page, plus ellipses if necessary */
    if ( ! in_array( $max, $links ) ) {
        if ( ! in_array( $max - 1, $links ) )
            echo '<li>…</li>' . "\n";

        $class = $paged == $max ? ' class="current-pagination"' : '';
        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
    }

    /**    Next Post Link */
    if ( get_next_posts_link() )
        printf( '<li>%s</li>' . "\n", get_next_posts_link() );

    echo '</ul></nav>' . "\n";

};

// Pagination ENDE

Den Code für die Ausgabe habe ich dann außerhalb des Loops eingefügt:
PHP:
<?php get_header(); ?>
  
    <section id="slider-full">
        <?php echo do_shortcode("[metaslider id=24]"); ?>
    </section>
  
    <div id="content-full">
        <section id="content-wrapper">
          
            <main id="content-small">
                <header id="content-header">
                    <h1>Stellenangebote</h1>
                </header>
              
                <?php if ( !function_exists('dynamic_sidebar') || dynamic_sidebar('Job-Archiv-Textbox') ) : ?><?php endif; ?>
              
                <?php
                        $args = array(
                        'post_type' => 'stellenangebote',
                        'posts_per_page'    => 5,
                        'orderby'           => 'date',
                        'order'             => 'DESC',);
                        $query = new WP_Query($args);
                        while($query -> have_posts()) : $query -> the_post();
                    ?>
              
                <article class="stellenangebote-archiv">
                    <header class="stellenangebote-archiv-header">
                        <h1><?php the_title(); ?></h1>
                        <p class="stellenangebote-archiv-meta"><strong>Veröffentlicht:</strong> <?php the_time('d.m.Y'); ?></p>
                    </header>
                    <ul class="stellenangebote-archiv-daten">
                        <li class="stellenangebote-archiv-column1">Beschreibung:</li>
                        <li class="stellenangebote-archiv-column2"><?php echo(types_render_field( "taetigkeisbeschreibung", array( 'raw' => true) )); ?></li>
                      
                        <li class="stellenangebote-archiv-column1">Ort:</li>
                        <li class="stellenangebote-archiv-column2"><?php echo(types_render_field( "arbeitsort", array( 'raw' => true) )); ?></li>
                      
                        <li class="stellenangebote-archiv-column1">Eintrittsdatum:</li>
                        <li class="stellenangebote-archiv-column2"><?php echo(types_render_field( "datum", array( 'raw' => true) )); ?></li>
                        <div class="clearfix"></div>
                    </ul>
                  
                    <footer class="stellenangebote-archiv-footer">
                        <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="stellenangebote-footer-link">Weitere Details hier</a>
                    </footer>
                </article>
              
                <?php endwhile; ?>
              
              
                <?php wpbeginner_numeric_posts_nav(); ?>
              
            </main>
          
            <?php get_sidebar('stellenangebote'); ?>
          
            <div class="clearfix"></div>
      
        </section>
    </div>
                  
                  

<?php get_footer(); ?>

Die Pagination wird allerdings nicht ausgegeben (Firebug zeigt mir rein gar nichts an, die Dateien auf dem Server beinhalten aber den Code): http://www.rrl-worktime.de/stellenangebote/

Ich habe jetzt schon mehrere Tutorials mit dem gleichen Ergebnis durch und verzweifel so langsam. Weiß zufällig jemand was ich falsch mache?

Besten Dank im Voraus


[EDIT]

Scheinbar bringt der Code da einiges durcheinander. Pagination wird erst angezeigt, wenn die zweite Seite "voll" ist. Sprich, wenn ich bei mir auf einer Seite 5 Beiträge ausgebe, wird die Pagination erst angezeigt, wenn 11 Beiträge existieren. Dann werden aber auch nur die ersten beiden Seite mit jeweils fünf Beiträge angezeigt und nicht die dritte mit dem elften Beitrag.

Kann mir bitte jemand helfen und sagen, was ich da noch ändern muss, dass die Pagination direkt angezeigt wird, wenn der sechste Beitrag existiert und somit eine zweite Seite erscheinen müsste.

Ich danke euch schonmal im Voraus.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben