Intereting Posts
Панель инструментов WordPress – это slooow. Передняя часть быстро XMLRPC Избегайте дублирования контента Автоматическое заполнение полей пользовательских комментариев Предложения для плагина i18n Список всех сообщений в таксономии Как устранить проблему, почему TinyMCE не загружает пользовательские плагины в визуальный редактор? Удалить одиночную мета-строку из нескольких мета-строк под тем же ключом сообщения Функция для получения URL исходного загруженного изображения – полный размер Действительно ли перемещение wp-config вне веб-корня действительно выгодно? Когда вам и когда не следует, используйте wp_list_pluck ()? Как получить транслированную строку с другого языка, кроме текущего? Как автоматически создавать гиперссылки и изображения в сообщении WordPress Один раз войти в систему на двух разных сайтах WordPress Показать популярные сообщения по категориям Изменение случайного сообщения публикует время для повторной отправки

posts_nav_link на single.php

Ситуация … Я использую 3 категории. Один из них называется «Новости». На этой странице показано последнее сообщение в категории «Новости», а слева показано 10 последних сообщений этой же категории. И есть навигационная система по умолчанию … «Предыдущая страница – Следующая страница».

Единственный пост из категории «Новости» выглядит так же, как страница «Новости». Слева находится сообщение и справа 10 последних сообщений. И навигация

Вот где проблема. Кнопка навигации ссылается на:

../news/single-post-title/page/2/ 

Где он должен ссылаться:

 ../news/page/2/ 

В любом случае, чтобы обойти эту проблему? Как добавить ссылки следующей / предыдущей страницы в файл single.php?

Короткий ответ:

Вы не можете делать то, что вы пытаетесь сделать, используя используемую вами функцию.

Длинный ответ:

posts_nav_link() не возвращает никакого вывода на отдельные сообщения в блоге. Он вызывает get_posts_nav_link() , который определяется в источнике следующим образом :

 function get_posts_nav_link( $args = array() ) { global $wp_query; $return = ''; if ( !is_singular() ) { $defaults = array( 'sep' => ' &#8212; ', 'prelabel' => __('&laquo; Previous Page'), 'nxtlabel' => __('Next Page &raquo;'), ); $args = wp_parse_args( $args, $defaults ); $max_num_pages = $wp_query->max_num_pages; $paged = get_query_var('paged'); //only have sep if there's both prev and next results if ($paged < 2 || $paged >= $max_num_pages) { $args['sep'] = ''; } if ( $max_num_pages > 1 ) { $return = get_previous_posts_link($args['prelabel']); $return .= preg_replace('/&([^#])(?![az]{1,8};)/i', '&#038;$1', $args['sep']); $return .= get_next_posts_link($args['nxtlabel']); } } return $return; } 

Важное условие:

 if ( !is_singular() ) 

is_singular() возвращает true, когда текущая страница представляет собой отдельную запись в блоге, статическую страницу или страницу вложения. Поскольку вы находитесь на одном блоге, функция просто возвращает пустую строку.