ist es möglich, next_post_link zu bekommen

9

Bei der Verwendung der Funktion next_post_link () ist ein Problem aufgetreten. Es scheint, dass diese Funktion automatisch wiedergegeben wird. Aus Positionsgründen benötige ich dies, um nur den Link zurückzugeben. Gibt es eine verfügbare Funktion oder Problemumgehung, mit der ich dieses Ergebnis erzielen kann?

GaryDevenay
quelle

Antworten:

17

Versuchen Sie, mit http://codex.wordpress.org/Function_Reference/get_adjacent_post zu arbeiten .

Beispiel:

$next_post_link_url = get_permalink( get_adjacent_post(false,'',false)->ID ); 
$prev_post_link_url = get_permalink( get_adjacent_post(false,'',true)->ID );
Michael
quelle
1
Denken Sie daran, dass dies nur die benachbarte URL erhält - Sie müssen den HTML-Code wie next_post_linkselbst generieren .
TheDeadMedic
2

Wenn Sie sich die Quelle ansehen, next_post_linkist dies nur ein Wrapper für adjacent_post_link.

Leider nimmt diese Funktion keine Form von "Echo" -Parametern an, sodass Sie entweder den Code in Ihrer eigenen Funktion replizieren und den Wert zurückgeben oder ihn in einem Ausgabepuffer abfangen müssen.

ob_start();
next_post_link();
$next_post_link = ob_get_clean();
TheDeadMedic
quelle
1

Eigentlich ja: Verwenden Sie einfach get_next_posts_link()dieselben Argumente.

Die next_posts_lin()Funktion gibt einfach den zurückgegebenen Wert von wieder get_next_posts_link().

BEARBEITEN

Ähm, egal. Ich habe den Funktionsnamen falsch gelesen.

Sie könnten verwenden get_next_post(), was ein Post-Objekt zurückgibt; Dann könnten Sie den Permalink aus dem zurückgegebenen ID-Objektparameter erhalten:

$nextpost = `get_next_post( $args )`;
$nextpostid = $nextpost->ID;
$nextpostlink = get_permalink( $nextpostid );
Chip Bennett
quelle