Next_post_link()関数を使用しているときに問題が発生しました。この関数は自動的にエコーしているように見えます。ポジション上の理由から、リンクを返すためにはこれが必要です。この結果を得るために使用できる機能または回避策はありますか?
http://codex.wordpress.org/Function_Reference/get_adjacent_post ;で作業してみてください。
例:
$next_post_link_url = get_permalink( get_adjacent_post(false,'',false)->ID );
$prev_post_link_url = get_permalink( get_adjacent_post(false,'',true)->ID );
ソースを見てみると、next_post_link
はadjacent_post_link
のラッパーです。
残念ながら、この関数は 'echo'パラメータの形式をとらないので、あなた自身の関数のコードを複製してその値を返すか、あるいは出力バッファでそれをキャッチする必要があります。
ob_start();
next_post_link();
$next_post_link = ob_get_clean();
実のところそうです、同じ引数を使ってget_next_posts_link()
を使うだけです。
next_posts_lin()
関数は単にget_next_posts_link()
の戻り値をエコーバックします。
_編集_
Erm、決して気にしないでください。関数名を読み間違えました。
Postオブジェクトを返すget_next_post()
を使うことができます。その後、返されたIDオブジェクトパラメータからパーマリンクを取得できます。
$nextpost = `get_next_post( $args )`;
$nextpostid = $nextpost->ID;
$nextpostlink = get_permalink( $nextpostid );