чи можна отримати next_post_link


9

Я зіткнувся з проблемою під час використання функції next_post_link (). Здається, що ця функція автоматично перегукується, і з міркувань позиції мені потрібно це лише повернути посилання. Чи є якась доступна функція чи рішення, яку я можу використати для досягнення цього результату?

Відповіді:


17

спробуйте працювати з 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 );

1
Майте на увазі, це отримає лише сусідню URL-адресу - вам доведеться генерувати HTML, як next_post_linkце роблять самі.
TheDeadMedic

2

Якщо ви подивитесь на джерело, next_post_linkце просто обгортка для adjacent_post_link.

На жаль, ця функція не приймає жодної форми параметра "echo", тому вам потрібно буде або тиражувати код у власній функції & повернути значення, або зафіксувати його у вихідному буфері;

ob_start();
next_post_link();
$next_post_link = ob_get_clean();

1

Власне, так: просто використовуйте get_next_posts_link(), використовуючи ті самі аргументи.

next_posts_lin()Функція просто повторює значення, що повертається get_next_posts_link().

EDIT

Ем, ніколи. Я неправильно прочитав ім'я функції.

Ви можете використовувати get_next_post(), який повертає об'єкт поштового зв’язку; тоді ви можете отримати постійне посилання від параметру об'єкта, що повертається:

$nextpost = `get_next_post( $args )`;
$nextpostid = $nextpost->ID;
$nextpostlink = get_permalink( $nextpostid );
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.