Heim >Web-Frontend >js-Tutorial >So implementieren Sie die vorherige und nächste Seite einer WordPress-Einzelseite [mit Code]_Javascript-Kenntnissen

So implementieren Sie die vorherige und nächste Seite einer WordPress-Einzelseite [mit Code]_Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 15:11:051764Durchsuche

WordPress-Artikelseiten verfügen über Funktionen zum Implementieren der vorherigen und nächsten Artikel. Wir möchten jedoch die Funktionen previous_post_link() und next_post_link() in einer einzelnen Seite implementieren. Es entsprach voll und ganz meinen Anforderungen, also habe ich die Funktion selbst geschrieben, um sie zu implementieren.
Die Seite hat eine hierarchische Funktion. Voraussetzung ist, dass zwischen den Unterseiten vorherige und nächste Links vorhanden sind, die nach Menüreihenfolge sortiert sind, wie zum Beispiel:

Themen (übergeordnete Seite)
---- zBench (untergeordnete Seite 1)
---- zBorder (untergeordnete Seite 2)
---- zSofa (untergeordnete Seite 3)

Wenn die aktuelle Seite zBorder ist, muss der vorherige Link zBench und der nächste Link zSofa sein.

把下面函数代码放入 functions.php(注:函数随手写的,可能不够精简)

/**
* get subpage previous/next page link by zwwooooo
*/
function subpage_nav_link($prevText='', $nextText='') {
global $post;
if ( !$post->post_parent ) return null; //如果不是子页面返回Null
$args = array(
'sort_order' => 'ASC',
'sort_column' => 'menu_order',
'child_of' => $post->post_parent,
'post_type' => 'page'
);
$pages = get_pages($args);
$num = count($pages);
$i = 0;
$index = -1;
foreach ($pages as $page) {
if ($page->ID == $post->ID) {
$index = $i;
break;
}
++$i;
}
if ($i == 0) {
$prev = '';
$next = $pages[$index+1];
} elseif ($i == $num-1) {
$prev = $pages[$index-1];
$next = '';
} else {
$prev = $pages[$index-1];
$next = $pages[$index+1];
}
if ($prev) {
if ($prevText) {
if ( substr_count($prevText, '%title') > 0 ) {
$explode = explode('%title', $prevText);
$prevText = $explode[0] . get_the_title($prev->ID) . $explode[1];
}
} else {
$prevText = get_the_title($prev->ID);
}
$prevlink = '<a class="previous-page-link" href="' . get_page_link($prev->ID). '">' . $prevText . '</a>';
}
if ($next) {
if ($nextText) {
if ( substr_count($nextText, '%title') > 0 ) {
$explode = explode('%title', $nextText);
$nextText = $explode[0] . get_the_title($next->ID) . $explode[1];
}
} else {
$nextText = get_the_title($next->ID);
}
$nextlink = '<a class="next-page-link" href="' . get_page_link($next->ID). '">' . $nextText . '</a>';
}
return array($prevlink, $nextlink);
}

[Funktion]

subpage_nav_link($prevText, $nextText)

[Parameter]

$prevText: Linktext für den vorherigen Artikel. Wenn leer, ist der Standardwert der Seitentitel
$nextText: Linktext für den nächsten Artikel. Wenn er leer ist, wird standardmäßig der Seitentitel verwendet

Zum Beispiel: Das allgemeine Thema besteht darin, den aufrufenden Code in die Schleife von page.php einzufügen (ich weiß nicht, direkt unter the_content();)

Code kopieren Der Code lautet wie folgt:
2babe0a84054a759900b60d9ce01091f

Hinweis: Sie können if (!$subpage_nav_link[0]) verwenden, um festzustellen, ob es einen vorherigen Artikel gibt, und gleichermaßen if (!$subpage_nav_link[1]), um festzustellen, ob es einen nächsten Artikel gibt.

PS: $prevText und $nextText unterstützen auch Zeichenkombinationen wie subpage_nav_link('oo %title xx', ''). In diesem Fall wird der vorherige Artikel-Link-Artikel zu "oo Seitenname xx"

Ein weiterer praktischer Artikel: Implementierung der WordPress-Artikelseite, um den vorherigen/nächsten Artikel in derselben Kategorie aufzurufen

Der von WordPress bereitgestellte Funktionscode zum Anzeigen der vorherigen und nächsten Artikel wird entsprechend der Veröffentlichungsreihenfolge aufgerufen. Die WordPress-Romanvorlage, die ich vor ein paar Tagen erstellt habe, wird zum Hinzufügen eines Romans „Blog Bars erstes WordPress“ verwendet Roman „Website-Themenvorlage wpnovel“, wenn es nicht angemessen ist, die Reihenfolge des Aufrufs des vorherigen und nächsten Artikels zu verwenden, ist dies der richtige Weg, um die Artikelseite den vorherigen und nächsten Artikel unter derselben Kategorie anzeigen zu lassen. WordPress ist leistungsstark und kann den Vorstellungen des Benutzers immer gerecht werden, der entsprechende Funktionscode wurde durch die Suche gefunden.

Code wird standardmäßig direkt aufgerufen

f90b79e086803b4bdc834de27c63e866

56c4fea8ae1af97a534f52693b998f9d

Wenn es sich bei dem Artikel um den ersten oder letzten Artikel handelt, werden Lücken angezeigt, aber die Lücken können durch Hinzufügen einer Beurteilung geschlossen werden

a499d15e196e36e560ddacb481009923

430fc60343a09619c2dc9c802c8550b1

Nach dem Test werden zwar Artikel derselben Kategorie angezeigt, für den ersten und den letzten Artikel werden jedoch nicht die entsprechenden Meldungen „Bereits der letzte Artikel“ und „Bereits der letzte Artikel“ angezeigt. Solange Sie die Kategorie-ID des Artikels in der Funktion get_ previous_post() angeben, ist der Code voll wirksam.

Hier ist der vollständige Code:

Code kopieren Der Code lautet wie folgt:
4dc71a32c0551b4adaa984e92fabe811term_id);
}
$categoryIDS = implode(",", $categoryIDS);
?>
30c4ebc86c2cfc98c2c5d36882b74755
abb39f0e6371b845989ce51882b09e4c

Öffnen Sie die Artikelseite single.php im Theme-Verzeichnis, fügen Sie den Code an der Stelle ein, an der er angezeigt werden soll, und speichern Sie die Datei.
Die obige Methode zum Implementieren der vorherigen Seite und der nächsten Seite einer WordPress-Einzelseite [mit Code] ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe auch, dass Sie Script Home unterstützen .

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn