Heim > Web-Frontend > js-Tutorial > Hauptteil

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

WBOY
Freigeben: 2016-05-16 15:11:05
Original
1734 Leute haben es durchsucht

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);
}
Nach dem Login kopieren

[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:
if ( function_exists('subpage_nav_link') ) {
if ( $subpage_nav_link = subpage_nav_link() ) {
echo $subpage_nav_link[0]; //Link zum vorherigen Artikel (Seite)
echo $subpage_nav_link[1]; //Link zum nächsten Artikel (Seite)
}
}
?>

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


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


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:
$categories = get_the_category();
$categoryIDS = array();
foreach ($categories als $category) {
array_push($categoryIDS, $category->term_id);
}
$categoryIDS = implode(",", $categoryIDS);
?>



Ö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 .

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage