Você está procurando uma maneira de excluir categorias do feed RSS usando o arquivo functions.php do seu tema? Embora provavelmente exista um plugin para isso, criamos um snippet de código rápido que você pode usar para excluir categorias do feed RSS com o functions.php no WordPress.
Instruções:
Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin específico do site. Em seguida, adicione os IDs das categorias que deseja excluir na linha 3 (atualmente definido como 20, 21 e 22). Certifique-se de usar um sinal de menos, “-“, antes do ID da categoria.
function exclude_cat_wps($query) {
if ($query->is_feed) {
$query->set('cat','-20,-21,-22');
}
return $query;
}
add_filter('pre_get_posts','exclude_cat_wps');
Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar / colar trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.
Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: Como criar um site de membros no WordPress e 9 melhores plugins de gerenciamento de anúncios do WordPress para aumentar a receita.
Eu me pergunto se você pode ajudar, mesmo que eu tenha seguido outras instruções antes de chegar aqui.
Eu copiei meu blog para que ele esteja em 2 páginas diferentes no meu site. Na página 182, quero que categorias de blog específicas apareçam. Na página 195, quero que o restante das categorias apareça.
Eu criei um tema filho. Aqui eu copiei (através do gerenciador de arquivos) page.php e renomeei um "page-182.php" e outro "page-195.php".
Em cada arquivo de página, inseri um código que deveria incluir as categorias específicas para cada página e salvei.
Mas todas as categorias ainda aparecem em ambas as páginas, então nada mudou.
O que estou fazendo de errado?
Esta é a page-195.php incluindo o código:
<div id=\"primary\" >
$args = array(‘category__in’=>array( 90, 92, 91 ),);
// A Consulta
$the_query = new WP_Query( $args );
// O Loop
if ( $the_query->have_posts() ) {
echo ‘’;
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo ‘’ . get_the_title() . ‘’;
echo ‘’ . get_the_content() . ‘’;
}
echo ‘’;
} else {
// nenhum post encontrado
}
/* Restaura os dados originais do post */
wp_reset_postdata();
—-esta parte é apenas o código:
$args = array(‘category__in’=>array( 90, 92, 91 ),);
// A Consulta
$the_query = new WP_Query( $args );
// O Loop
if ( $the_query->have_posts() ) {
echo ‘’;
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo ‘’ . get_the_title() . ‘’;
echo ‘’ . get_the_content() . ‘’;
}
echo ‘’;
} else {
// nenhum post encontrado
}
/* Restaura os dados originais do post */
wp_reset_postdata();
Espero que você possa ver onde estou errando. Sou novo e não entendo o código. Apenas pesquisei no Google e no YouTube para passar por isso.
Obrigado 🙂
Parece que o código PHP pode não estar devidamente envolvido por tags PHP. Você também pode querer conferir este snippet: https://www.isitwp.com/list-recent-posts-from-a-single-category/
obrigado
Isso leva algum tempo para atualizar? Segui estas instruções exatamente, mas as postagens das categorias ainda estão aparecendo no feed RSS2.0.
Oi Zachary
Não, isso deve funcionar imediatamente, você tem algum outro código que possa causar problemas? Plugins relacionados a RSS,