web-dev-qa-db-fra.com

est-il possible d'obtenir next_post_link

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?

9
GaryDevenay

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 );
15
Michael

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();
2
TheDeadMedic

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 );
1
Chip Bennett