Maison >interface Web >js tutoriel >Comment implémenter la page précédente et la page suivante d'une seule page WordPress [avec code] compétences_javascript

Comment implémenter la page précédente et la page suivante d'une seule page WordPress [avec code] compétences_javascript

WBOY
WBOYoriginal
2016-05-16 15:11:051760parcourir

Les pages d'articles WordPress ont des fonctions pour implémenter les articles précédents et suivants. Cependant, nous souhaitons implémenter les fonctions de page précédente et suivante dans une seule page page.php. Les fonctions previous_post_link() et next_post_link() ne sont pas encore disponibles. Cela répondait complètement à mes besoins, j'ai donc écrit la fonction moi-même pour l'implémenter.
La page a une fonction hiérarchique. L'exigence est qu'il y ait des liens précédents et suivants entre les sous-pages triées par ordre de menu, tel que :

Thèmes (page parent)
---- zBench (page enfant 1)
---- zBorder (page enfant 2)
---- zSofa (enfant page 3)

Si la page actuelle est zBorder, alors le lien précédent doit être zBench et le lien suivant doit être zSofa.

把下面函数代码放入 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);
}

[Fonction]

subpage_nav_link($prevText, $nextText)

[Paramètre]

$prevText : Texte du lien pour l'article précédent S'il est vide, la valeur par défaut est le titre de la page
$nextText : texte du lien pour l'article suivant. Lorsqu'il est vide, il s'agit par défaut du titre de la page ;

Par exemple : le thème général est d'insérer le code appelant dans la boucle de page.php (je ne sais pas, juste en dessous de the_content();)

Copier le code Le code est le suivant :
63fd0c50c861f604a728bff928bae373

Remarque : vous pouvez utiliser if (!$subpage_nav_link[0]) pour déterminer s'il existe un article précédent, et de même if (!$subpage_nav_link[1]) pour déterminer s'il existe un article suivant.

PS : $prevText et $nextText prennent également en charge les combinaisons de caractères, telles que subpage_nav_link('oo %title xx', '') Dans ce cas, l'article du lien vers l'article précédent deviendra "oo nom de la page xx"

Autre article pratique : Implémentation de la page article wordpress pour appeler l'article précédent/suivant dans la même catégorie

Le code de fonction fourni par wordpress pour afficher les articles précédents et suivants est appelé selon l'ordre de publication. Le modèle de roman wordpress que j'ai réalisé il y a quelques jours, car chaque catégorie sert à ajouter un roman "Premier wordpress de Blog Bar". roman "Modèle de thème de site Web wpnovel", s'il n'est pas approprié d'utiliser l'ordre d'appel des articles précédents et suivants, c'est la bonne façon de laisser la page d'article afficher les articles précédents et suivants dans la même catégorie WordPress est puissant et. peut toujours satisfaire les idées de l'utilisateur, le code de fonction correspondant a été trouvé grâce à la recherche.

Code appelé directement par défaut

5eb33a5d3a189f4a958a6a293ff2161a

f8ce11ac9bb312279f1c243bffbca2a0

Lorsque l'article est le premier ou le dernier article, des lacunes seront affichées, mais les lacunes peuvent être comblées en ajoutant un jugement

04e5693efb86517034a23912ca5001c0

c5366ed80b2c782769d72844a4a3c47f

Après le test, bien que les articles de la même catégorie soient affichés, le premier article et le dernier article n'afficheront pas les messages d'invite correspondants « Déjà le dernier article » et « Déjà le dernier article ». Tant que vous spécifiez l'ID de catégorie de l'article dans la fonction get_previous_post(), le code sera pleinement efficace.

Voici le code complet :

Copier le code Le code est le suivant :
f95bb9dcef0066c59f51a12ebe8b2e65term_id);
>
$categoryIDS = imploser(",", $categoryIDS);
?>
ebce890a05ab39b04901d1f91f280e16
26395d9bf9194dd91f5b9ab0a68c9387

Ouvrez la page de l'article single.php dans le répertoire du thème, ajoutez le code à l'endroit où vous souhaitez qu'il soit affiché et enregistrez le fichier.
La méthode ci-dessus pour implémenter la page précédente et la page suivante d'une seule page WordPress [avec code] est tout le contenu partagé par l'éditeur. J'espère qu'elle pourra vous donner une référence, et j'espère également que vous soutiendrez Script Home. .

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn