Получить следующую и предыдущую страницу с разбивкой по страницам

Множество сайтов, которые я создаю для клиента, будут представлять собой сообщения с разными страницами для сообщений типа «Топ-10» и т. Д. Это означает, что мне нужно разбивать страницы на разные страницы. Лучшим способом, который я нашел для этого, является использование <!--nextpage--> в содержании для разделения сообщения и создания страниц. Чтобы перемещаться по страницам, я попытался использовать get_pagenum_link . Здесь есть мой полный код:

 function postPagination() { global $paged; $paged = (get_query_var('page')) ? get_query_var('page') : 1; $output .= "<div class='pagination'>"; $output .= "<a href='".get_pagenum_link($paged - 1)."'>Previous Page</a>"; $output .= "<a href='".get_pagenum_link($paged + 1)."'>Next Page</a>"; $output .= "</div>"; return $output; } 

У меня две основные проблемы:

1) Ссылки находятся в форме http://domain.dev/2014/03/03/post-title/2/page/2 , которая возвращает 404. Кроме того, если я нажму ссылку «Следующая страница», она вернет /post-title/2/page/3 , т. е. часть / page / 3 верна, но она все еще находится на странице 2. Если я перейду в /post-title/page/3 или что-то еще, он просто перенаправит обратно на первую страницу , /post-title/3/ отлично работает. Я предполагаю, что это связано с постоянными отношениями.

2) Код предыдущей страницы вообще не работает, он просто возвращает ссылку «Текущая страница», например, если вы на странице 2, ссылка «Предыдущая страница» вернёт /post-title/2/ . т.е. он даже не имеет /page/2 бит в конце.

Извините, если это сбивает с толку, с удовольствием ответим на любые вопросы и при необходимости объясним. Я должен также упомянуть, что этот код является функцией, которая находится в functions.php и будет вызываться на страницах контента.

Спасибо за любую помощь в устранении моих двух проблем, поэтому предыдущие / следующие ссылки работают правильно 🙂

То, что вы делаете, похоже, воспроизводит то, что wp_link_pages() :

Отображает ссылки на страницы для постраничных сообщений (т. Е. Включает Quicktag один или несколько раз). Это работает почти так же, как link_pages () (устарело), ​​причем разница заключается в том, что аргументы приведены в формате строки запроса. Этот тег должен находиться внутри The_Loop.

Используя один или несколько предоставленных аргументов …

 $defaults = array( 'before' => '<p>' . __( 'Pages:' ), 'after' => '</p>', 'link_before' => '', 'link_after' => '', 'next_or_number' => 'number', 'separator' => ' ', 'nextpagelink' => __( 'Next page' ), 'previouspagelink' => __( 'Previous page' ), 'pagelink' => '%', 'echo' => 1 ); 

… вы должны быть в состоянии приблизиться к этой разметке.

В частности, я считаю, что это сделает (непроверено):

 $defaults = array( 'before' => '<div class='pagination'>', 'after' => '</div>', 'nextpagelink' => __( 'Next page' ), 'previouspagelink' => __( 'Previous page' ), );