Как удалить ленту комментариев CPT из head?
В пользовательском типе записи я установил has_archive
в false
. Однако в заголовке страницы CPT я все еще нахожу ссылку на такой канал:
<link … title="Page Title | Comments Feed" href="domain/cpt/slug/feed/" />
Канал не существует – ссылка выдает ошибку 404. Я попытался удалить ссылку с фильтром feed_links_show_comments_feed
, которая повлияла только на ленту комментариев обычных сообщений:
add_filter( 'feed_links_show_comments_feed', '__return_false' );
...лента комментариев cpt все еще была там.
Я также попытался переместить все каналы , что снова сработало со всеми каналами, но тот, который я хотел удалить:
remove_action( 'wp_head', 'feed_links', 2 );
Если бы я, однако, установил has_archive
в true
, ссылка фактически привела бы к действительной rss–ленте комментариев, против которой я в принципе не возражал бы. Но я не могу установить has_archive
в true
, так как мне нужен базовый слаг для какой-то пользовательской страницы, и я не хочу, чтобы страница архивов отображалась на URL-адресе слага.
Надеюсь, кто-нибудь сможет указать мне правильное направление? Все указатели приветствуются. Спасибо!
2 answers
Следующая команда скрывает ленту комментариев для сообщений (требуется WP 4.4+!), Но на пользовательских страницах все еще отображается лента комментариев, даже если комментарии отключены для такой страницы:
add_filter( 'feed_links_show_comments_feed', '__return_false' );
Чтобы решить эту проблему, мне также пришлось добавить этот дополнительный код:
function remove_comments_rss( $for_comments ) {
return;
}
add_filter('post_comments_feed_link','remove_comments_rss');
Вы можете удалить ленту комментариев для пользовательского типа записи, сообщив WordPress, что комментарии закрыты для определенного типа записи, используя comments_open
фильтр:
function close_comments( $open, $post_id ) {
if ( 'cpt' == get_post_type( $post_id ) ) {
$open = false;
}
return $open;
}
add_filter( 'comments_open', 'close_comments', 10, 2 );
Убедитесь, что вы заменили "cpt" на свое имя типа сообщения.