Intereting Posts
Как направить мой сайт на правильный URL без панели инструментов Удалить теги P из изображений Разрешить вход в систему пользователям, которые не принадлежат к whitelisted ips Как сделать плагин обязательным в теме wp без использования условных операторов php при вызове отдельной функции из этого плагина? PDF-изображение в содержании Отображать следующие / Предыдущие при циклическом создании пользовательского архива пост-типа? Понимание конкретного кода Первый блог WordPress, должен ли я сделать свою собственную тему для максимальной настройки? Изменить URL-адрес мультимедиа (изображения) Что включают в себя автоматические обновления WordPress? Что случилось с моей date_query? Как вводить сообщения из определенной категории на домашней странице Обратный вызов загрузки изображений в новых носителях 3.5 Измените «страничную» пулю в разбивке на страницы Лучший плагин кэша WP для большого сайта

Генерация rel = prev и rel = next только в категориях wordpress

Я пытался удалить rel = prev и rel = следующие теги с моего сайта, как предлагал мой SEO. Я нашел те функции, которые прекрасно справляются с магией:

remove_action('wp_head', 'start_post_rel_link', 10, 0 ); remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 

однако через некоторое время мой парень-разработчик предложил оставить его в разделе категорий, где там нет необходимости в SEO.

существует ли простой способ реализации rel = prev и rel = next tags только на страницах категорий ?, например: www.website.com/category/category-name и удалить его из всех других типов сообщений? (почта, страница, домашняя страница и т. д.)

Спасибо, GIl

Solutions Collecting From Web of "Генерация rel = prev и rel = next только в категориях wordpress"

Не совсем уверен, согласен ли я с объяснением вашего парня-SEO, поскольку rel = prev и rel = next используются для разбиения на страницы архивов.

Конечно, категории могут быть одним, но также и вашим блогом, если он содержит несколько страниц.

В любом случае, вот что я сейчас использую:

 remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' ); add_action( 'wp_head', 'cor_rel_next_prev_pagination' ); /** * Pagination with rel="next" and rel="prev". * * @link wp-includes|default-filters.php * @link http://core.trac.wordpress.org/ticket/18672 Implement rel="prev" and rel="next" for archives * @link http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html Pagination with rel="next" and rel="prev" */ function cor_rel_next_prev_pagination() { global $paged; if ( get_previous_posts_link() ) { ?> <link rel="prev" href="<?php echo get_pagenum_link( $paged - 1 ); ?>"> <?php } if ( get_next_posts_link() ) { ?> <link rel="next" href="<?php echo get_pagenum_link( $paged + 1 ); ?>"> <?php } } 

Изменить: также я считаю, что start_post_rel_link больше не используется.

Я думаю, вы можете обернуть свои крючки в hook_archirect, который запускается перед отправкой содержимого в браузер, примерно так:

 add_action( 'template_redirect', 'wpse_47638_remove_rel_link' ); function wpse_47638_remove_rel_link() { if ( is_category() ) return; remove_action('wp_head', 'start_post_rel_link', 10, 0 ); remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); } 

Попробуйте функцию is_category . Вы должны иметь возможность добавить высокоприоритетное действие к wp_head, которое проверяет результат, затем условно запускает два указанных выше оператора, чтобы удалить действия, которые присваивают REL связям.

Я честно не уверен, что этот метод работает на раннем этапе жизненного цикла WP, но в противном случае возьмите URL-адрес с помощью _SERVER и проверьте шаблон категории.