X

Como Forçar um Tipo de Post Personalizado a Ser Privado no WordPress

Snippets por IsItWP

Você está procurando uma maneira de forçar seu tipo de post personalizado a ser privado por padrão? Embora provavelmente exista um plugin para isso, criamos um pequeno trecho de código que você pode usar para forçar um tipo de post personalizado a ser privado 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:

function force_type_private($post)
{
    if ($post['post_type'] == 'my_post_type')
    $post['post_status'] = 'private';
    return $post;
}
add_filter('wp_insert_post_data', 'force_type_private');

Não se esqueça de alterar my_post_type para o nome do seu tipo de post personalizado. Esta é uma pequena alteração no código-fonte e não inclui uma senha, pois é privado e não protegido por senha.

Observação: Se esta é a sua primeira vez adicionando snippets de código no WordPress, consulte nosso guia sobre como adicionar snippets 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: os 28 melhores temas de currículo para WordPress e como criar um formulário de inscrição de emprego no WordPress.

Comentários   Deixe uma resposta

  1. Olá,

    Alguma ideia de como fazer o mesmo código, mas para 2 CPTs diferentes em vez de um?

    Agradeço desde já

  2. Fabrizio Fabricatore July 25, 2013 at 8:33 am

    eu sei que este tópico é um pouco antigo, mas... como você pode direcionar um campo personalizado nesse tipo de post personalizado para alterar seu valor?

  3. Martin Storbeck April 5, 2012 at 7:11 am

    Eu editei, então os links estão definidos para o nome do post em vez de "my_post_type/auto-draft" quando eles são criados. Desta forma, você também pode postar posts protegidos por senha.

    function force_type_private($post)
    { if ($post[‘post_type’] == ‘my_post_type’) { if ($post[‘post_status’] == ‘publish’) $post[‘post_status’] = ‘private’; } return $post; } add_filter(‘wp_insert_post_data’, ‘force_type_private’);

  4. Isso funciona, mas descobri que torna o post impossível de mover para a lixeira... você também experimentou isso?

    1. Não, eu não tive esse problema, mas vou tentar e ver se consigo replicar o problema.

    2. Sim, estou tendo exatamente o mesmo problema.. Alguém tem alguma ideia?

  5. Por que você não faz: if ( post type = meu tipo de post) { status do post = privado; retornar post; }

    Parece que você tem uma linha extra desnecessária.

    1. Isso é verdade Adam, corrigi.

  6. este código está correto?
    Acho que você esqueceu um "ELSE"

    1. Olá José,
      Não, está correto, basta criar um novo tipo de post personalizado e adicionar isto ao functions.php e você notará que ao selecionar adicionar novo para esse tipo de post personalizado, ele terá a opção "privado" selecionada por padrão.

      1. Olá Kevin,

        Ainda não há como excluir meus posts com este código. Alguma ideia?

        Atenciosamente,

        1. Eu usei um código como este, que verifica se eles estão na lixeira antes de torná-los privados:
          // Força posts do tipo personalizado 'internt-arkiv' a serem privados
          // ...mas primeiro certifique-se de que eles não estão 'lixo' caso contrário é impossível jogar um post no lixo
          function force_type_private($post)
          {
              if ($post[‘post_type’] == ‘my_post_type’) {
                  if ($post[‘post_status’] != ‘trash’) $post[‘post_status’] = ‘private’;
              }
              return $post;
          }
          add_filter(‘wp_insert_post_data’, ‘force_type_private’);

  7. Tweets that mention Wordpress Force custom post type to be private – wpsnipp.com Wordpress code snippets for your blog -- Topsy.com February 15, 2011 at 12:37 am

    […] Este post foi mencionado no Twitter por HTMLfrp, wp_freak. wp_freak disse: #wordpress Forçar tipo de post personalizado a ser privado http://bit.ly/fHzJuW […]

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!