Wie Sie diese Paginierung sehen. Es gibt keine “Pre” -Schaltfläche oder Text. weil es keine früheren Posts gibt. ( http://prntscr.com/bmuui2 )
Ich möchte jedoch die Schaltflächen (vorheriges / nächstes) anzeigen, auch wenn es keine (vorherigen / nächsten) Beiträge gibt.
Wegen Design-Balance.
Ich möchte die ganze Zeit so zeigen. ( http://prntscr.com/bmutv )
Ich benutze diesen Code und verweise diesen Codex ( https://codex.wordpress.org/Function_Reference/paginate_links )
str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages ) ); ?>
Ich habe versucht, mehr Array-Werte hinzuzufügen. aber es scheint nicht möglich zu sein.
Vielen Dank,
Ich habe keinen Zweifel, dass die obige Lösung von Suyash Jain eine gute ist, möglicherweise sogar die optimale und sicherlich eleganter als ein Programm, das ich vorschlage.
Es fällt mir jedoch auf, dass es eine sehr einfache Möglichkeit gibt, die gewünschten Elemente vor und nach den von ‘paginate_links’ erzeugten Links hinzuzufügen:
< ?php global $wp_query; $big = 999999999; // need an unlikely integer $html = paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), //recommended for pretty permalinks, but you could use 'format' => '?paged=%#%', if you prefer 'format' => '/page/%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages ) ); //set your additional decorative elements //mimics the default for paginate_links() $pretext = '« Previous'; $posttext = 'Next »'; //assuming this set of links goes at bottom of page $pre_deco = '' . $pretext . ''; $post_deco = '' . $posttext . ''; //key variable $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1; //add decorative non-link to first page if ( 1 === $paged) { $html = $pre_deco . $html; } //add decorative non-link to last page if ( $wp_query->max_num_pages == $paged ) { $html = $html . $post_deco; } //may be helpful to create a larger containing div so... echo ' '; ?>
Sie würden dann das CSS-Styling der “echten” paginate-Links kopieren (und modifizieren) und vielleicht Ihre eigene Farbcodierung hinzufügen, die anzeigt, dass die “deco” -Links tatsächlich tot sind.
Ich habe es durch den folgenden Code erreicht.
function wpbeginner_numeric_posts_nav() { echo '
'; 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 '