Die von Ihnen verwendete Funktion wp_link_pages
Codex verfügt standardmäßig nicht über die von Ihnen gesuchte Funktion.
Sie können es jedoch problemlos erweitern, indem Sie eine Rückruffunktion verwenden, die als Filter für die Funktionsargumente registriert ist :
add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add');
Der Filter wird dann die Parameter ändern , die in dieser Funktion verwendet werden , on-the-fly und spritzen die fehlenden Verbindungen zu den prev
und next
Argumente , die Ausgabe auf der linken und rechten Seite der ARE numerierten Verbindungsliste ( next_or_number' => 'number'
):
/**
* Add prev and next links to a numbered page link list
*/
function wp_link_pages_args_prevnext_add($args)
{
global $page, $numpages, $more, $pagenow;
if (!$args['next_or_number'] == 'next_and_number')
return $args; # exit early
$args['next_or_number'] = 'number'; # keep numbering for the main part
if (!$more)
return $args; # exit early
if($page-1) # there is a previous page
$args['before'] .= _wp_link_page($page-1)
. $args['link_before']. $args['previouspagelink'] . $args['link_after'] . '</a>'
;
if ($page<$numpages) # there is a next page
$args['after'] = _wp_link_page($page+1)
. $args['link_before'] . ' ' . $args['nextpagelink'] . $args['link_after'] . '</a>'
. $args['after']
;
return $args;
}
Verwendung:
wp_link_pages(array(
'before' => '<p>' . __('Pages:'),
'after' => '</p>',
'next_or_number' => 'next_and_number', # activate parameter overloading
'nextpagelink' => __('Next'),
'previouspagelink' => __('Previous'),
'pagelink' => '%',
'echo' => 1 )
);
Wenn Ihr Thema immer die vorherigen und nächsten Links verwendet, können Sie die Funktion ein wenig ändern, um sie zum Standardverhalten zu machen, wenn number
(die Standardeinstellung) verwendet wird, sodass Sie weniger in Ihre Themen schreiben müssen.
Dies ist eine etwas andere Implementierung, wie von Velvet Blues vorgeschlagen .
Die
wp_link_pages()
Funktion zeigt nur entweder Text oder Nummer an, niemals beides. Wenn Sie sich den Code der Funktion ansehen, werden Sie feststellen, dass es keine Möglichkeit gibt, das Verhalten durch Übergabe von Parametern zu ändern.Davon abgesehen gibt es drei Möglichkeiten, dies ohne ein Plugin zu tun:
wp_link_pages()
. Sehr ineffizienter Hack.Ich habe in meinem Blog einen Artikel dazu geschrieben. Grundsätzlich benutze ich den Filter wp_link_pages_args und füge eine Funktion in die Datei functions.php ein, die eine neue Option 'next_and_number' hinzufügt.
WordPress Hack: Nummer anzeigen & Nächste / Vorherige Links mit wp_link_pages ()
quelle
Versuchen Sie dies, Sie können es anpassen. Aber es sollte machen, was du wolltest :-)
quelle
Ich verstehe nicht, was das Problem ist ... Hast du einen Fehler?
Das sollte funktionieren:
Sie müssen next_or_number nicht hinzufügen, da number bereits die Standardeinstellung ist.
quelle
next_or_number
aufnext
. Es werden jedoch nur die Links "Weiter" und "Zurück" angezeigt, nicht die Zahlen!Dieser Code ist in der Schleife der Beiträge? Die Kodierung ist für mich in Ordnung. Hier ist das Codex-Beispiel zur Verwendung:
quelle
Die Antwort ist anders, aber es hat @ 荒野 荒野 灯 dazu inspiriert, seine Antwort zu löschen. Imho es ist das Beste, als die einfachste und flexibelste Lösung:
Die Lösung hängt von ab
paginate_links()
. Das einzige, was zu wissen ist, ist,base
dass die URl von Anfang an angehängt wird%_%
, die dann durch ersetzt wirdformat
. So lange wir nutzenget_permalink().'%_%';
, wissen wir, dass wir auf jeden Fall auf dem aktuellen Post bleiben werden. Im Innerenformat
wird das#
durch die Seitennummer ersetzt:quelle