Suporte » Ajustando o WordPress » Como não exibir determinado post na listagem dos posts?

  • Ex: No meu campo “POSTS” eu tenho 10 posts. Digamos que eu não queira exibir o post 8, que tem o ID (olhando na URL) 155.

    Como posso fazer para não exibir esse post na página inicial? Quero exibir ele somente quando eu clicar na categoria.

    Olhando a documentação e googlando vi que é possível não exibir toda a categoria. Basta utilizar o argumento cat e negativar o ID da categoria ($args = array( 'cat' => -ID_DA_CATEGORIA );. Mas, isso faz ocultar toda a categoria. Eu quero ocultar somente 1 post (da HOME) desta categoria.

    Eu também achei esse código:

    function exclude_single_posts_home($query) {
        //Caso esteja na home
      if ($query->is_home() && $query->is_main_query()) {
           //Não exiba estes posts
        $query->set('post__not_in', array(187,174,166));
      }
    }
    
    add_action('pre_get_posts', 'exclude_single_posts_home');

    Pelo que entendi, ele pega o ID do post e não exibe caso ele esteja na HOME. Bom, fiz isso não pegou :/

    Enfim,

    Como posso ocultar determinado post da home pelo ID? Assim, ele só será exibido quando eu clicar na categoria.

    obs: A minha HOME está sendo exibida na page.php

Visualizando 1 resposta (de um total de 1)
  • Tente substituir a linha

    if ($query->is_home() && $query->is_main_query()) {

    por

    if ( $query->is_main_query() && is_front_page() ) {

    is_home() retorna true se você estiver exibindo a página do blog, e não a home do site.

    • Esta resposta foi modificada 7 anos, 6 meses atrás por marcelo2605.
Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Como não exibir determinado post na listagem dos posts?’ está fechado para novas respostas.