J'ai rencontré un problème lors de l'utilisation de la fonction next_post_link (). Il semble que cette fonction répète automatiquement, pour des raisons de position, j’ai besoin de cette fonction pour renvoyer le lien. Existe-t-il une fonction ou une solution de contournement que je peux utiliser pour obtenir ce résultat?
essayez de travailler avec http://codex.wordpress.org/Function_Reference/get_adjacent_post ;
exemple:
$next_post_link_url = get_permalink( get_adjacent_post(false,'',false)->ID );
$prev_post_link_url = get_permalink( get_adjacent_post(false,'',true)->ID );
Si vous regardez la source, next_post_link
est juste un wrapper pour adjacent_post_link
.
Malheureusement, cette fonction ne prend aucune forme de paramètre 'echo', vous devrez donc soit répliquer le code dans votre propre fonction et renvoyer la valeur, soit l'attraper dans un tampon de sortie;
ob_start();
next_post_link();
$next_post_link = ob_get_clean();
En fait, oui: utilisez simplement get_next_posts_link()
, en utilisant les mêmes arguments.
La fonction next_posts_lin()
renvoie simplement la valeur renvoyée de get_next_posts_link()
.
MODIFIER
Euh, tant pis. J'ai mal lu le nom de la fonction.
Vous pouvez utiliser get_next_post()
, qui retourne un objet post; vous pouvez alors obtenir le lien permanent à partir du paramètre d'objet ID renvoyé:
$nextpost = `get_next_post( $args )`;
$nextpostid = $nextpost->ID;
$nextpostlink = get_permalink( $nextpostid );