@donichek

Как вывести атрибуты prev и next?

Нужно вывести атрибуты, указывающие на предыдущую и следующую страницы для WordPress:

<link rel="prev" href="" />
<link rel="next" href="" />


Такие атрибуты у меня на сайте указываются для пагинации на страницах категорий. На главной странице у меня тоже есть постраничная пагинация, и там мне тоже нужны эти атрибуты. Но именно на главной они почему-то не выводятся. Проблема, возможно, в том, что главная у меня создана с помощью конструктора-плагина.

Подскажите, пожалуйста, код для вывода вышеуказанных атрибутов именно для главной страницы.
  • Вопрос задан
  • 446 просмотров
Пригласить эксперта
Ответы на вопрос 1
@donichek Автор вопроса
К сожалению, никакое из найденных мною решений для моей главной страницы не подходит. Вот в категориях выводятся нужные мне rel="prev" и rel="next", а на главной нет. Там у меня тоже пагинация. Плагин Yoast тоже не помог.

Нашел одно решение в интернете, которое выводит нужные теги на главную, но этот код выводит на самую последнюю страницу ненужный rel=next и не выводит rel=next на самую первую страницу. Кто-нибудь может скорректировать код?

add_action('wp_head', 'wp_head_pagination_mod');
function wp_head_pagination_mod() {
  $page = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : get_query_var( 'page' );

  if( ! $page ) return;

  $url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  $url = substr($url, 0, strpos($url, "page"));

  $link_prev = $url . 'page/' . ($page - 1);
  $link_next = $url  . 'page/' . ($page + 1);

  $output  = ' 	<link rel="prev" href="'. $link_prev .'" />' . PHP_EOL;
  $output .= ' 	<link rel="next" href="'. $link_next .'" />' . PHP_EOL;
  echo $output;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы