WordPress Hock: Current Page Number in wp_link_pages()

Wie man die aktuelle Seitenzahl in der Funktion wp_link_pages() markiert. Diese WordPress-Funktion gibt ansonsten alle Seitenzahlen als Link und ohne Kennzeichnung der aktuellen Seite aus. Anschließend kann sie über die CSS-Klassse .current gesondert gestylt werden.

/**
 * Filter wp_link_pages to wrap current page in span.
 *
 * @param $link
 * @return string
 */
 function wbq_link_pages_current( $link ) {
   global $page;
 
   if ( strip_tags($link) == $page ) {
     return '<span class="current">' . $link . '</span>';
   }
   return $link;
 }
 add_filter( 'wp_link_pages_link', 'wbq_link_pages_current' );

Dieses WordPress Snippet könnt ihr einfach in die functions.php des Themes einfügen. Getestet mit WordPress-Version 4.8.

Um die aktuelle Seitenzahl zu bestimmen, ist die Variable $page nötig, die ihr in die Funktion mit global einbinden müsst.

  • The $page global variable returns the current page of a multi-page post.
  • The $numpages global variable returns the total number of pages in a multi-page post.

Die Ausgabe der Funktion wp_link_pages() erfolgt in dieser Form:

wp_link_pages(
  array(
    'before'=>'<div class="post-pages">'.__('Pages:','THEME'),
    'after'=>'</div>',
    'next_or_number' => 'number',
    'pagelink' => '%',
    'separator' => '|'
  )
);

Beispiel: Pages: 1 | 2 | 3 | 4

Möchte ihr zur nächsten oder vorherigen Seite verlinken verwendet ihr diese Funktion in dieser Form:

wp_link_pages(
  array(
    'before'=>'<div class="post-pages">',
    'after'=>'</div>',
    'next_or_number' => 'text',
    'separator' => '|',
  )
);

Beispiel: Vorherige Seite | Nächste Seite

Quellen und Links

Veröffentlicht von

Martin

Martin Schuster ist Gründer der Berliner Agentur WebQuartier und schreibt in seinem Blog über WordPress, Web & Mobile, Online Marketing sowie kreative Inspirationen und webbasierte Innovationen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Nur zur Sicherheit * Time limit is exhausted. Please reload CAPTCHA.