Suporte » Gerenciamento de conteúdo » Como ocultar categoria da página de posts

  • Oi!
    Eu tenho um site onde a página inicial não é a página do blog e gostaria de ocultar alguns posts somente da minha página BLOG.

    Eu vou montar um portfólio onde cada projeto será um post com a categoria PORTFOLIO e gostaria que os posts com essa categoria não aparecessem na listagem de posts da minha página BLOG. Alguém pode me ajudar a como fazer isso? tá brabo! :/

    Obrigada!

    A página que eu preciso de ajuda: [fazer login para ver o link]

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @monecps,

    O seguinte código no seu functions.php deve resolver:

    function exclude_portfolio_from_blog( $query ) {
        if ( $query->is_home() AND $query->is_main_query() ) {
    	$portfolio_cat = get_category_by_slug( 'portfolio' );
    	if ( $portfolio_cat ) {
    		$query->set( 'cat', '-' . $portfolio_cat->term_id );
    	}
        }
    }
    add_action( 'pre_get_posts', 'exclude_portfolio_from_blog' );

    Ele altera a consulta feita para buscar os posts da página de blog, excluindo dela posts com a categoria que tem slug 'portfolio'.

    Não esqueça de voltar para dizer se funcionou e, se for o caso, marcar seu tópico como resolvido, ok?

    Oi @felipeelia

    Obrigada pela ajuda!
    Mas não funcionou :/
    ficou aparecendo o erro: Parse error: syntax error, unexpected ‘&’ in /home/u995909452/public_html/wp-content/themes/journalist/journalist/functions.php on line 583

    Eu mudei o nome da categoria portfolio por projetos, será que foi isso?
    http://sitecroquiarq.esy.es/projetos/

    Moderador Felipe Elia

    (@felipeelia)

    Oi @monecps,

    O erro informa que existe um erro de sintaxe no seu functions.php, na linha 583 existe um & que não era esperado. No código que passei não tem esse caracter, você precisará ver exatamente o que tem na linha 583 e nas imediações para solucionar.

    Como você alterou de portfolio para projetos, você terá que alterar também o código. Ao invés de
    $portfolio_cat = get_category_by_slug( 'portfolio' );
    use
    $portfolio_cat = get_category_by_slug( 'projetos' );

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Você deve estar logado para responder a este tópico.