X

Como forçar o tipo de postagem personalizada a ser privado no WordPress

Snippets by IsItWP

Está procurando uma maneira de forçar seu tipo de postagem personalizada a ser privado por padrão? Embora provavelmente exista um plug-in para isso, criamos um trecho de código rápido que você pode usar para forçar o tipo de postagem personalizada a ser privado no WordPress.

Instruções:

Tudo o que você precisa fazer é adicionar esse código ao arquivo functions.php do seu tema ou em um plug-in 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 de seu tipo de post personalizado. Essa é uma pequena alteração do código-fonte e não inclui uma senha, pois é privada e não protegida por senha.

Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como adicionar corretamente trechos de código no WordPress para não danificar acidentalmente seu site.

Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: 28 melhores temas de currículo do WordPress e como criar um formulário de solicitação de emprego no WordPress.

Comentários   Deixe uma resposta

  1. Hello,

    Any idea how to do the same code but for 2 different CPT instead one?

    Thanks in advance

  2. Fabrizio Fabricatore julho 25, 2013 em 8:33 am

    i know this thread is a little old but…how can you target a custom field in that custom post type to change it’s value?

  3. Martin Storbeck abril 5, 2012 em 7:11 am

    I edited it, so links are set to the post name instead of “my_post_type/auto-draft” when they are created. This way you can also post password-protected posts.

    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. This works, but I have found that it makes the post impossible to move to the trash… have you also experienced this?

    1. No I have not had this issue, but ill give it a try and see if I can replicate the problem.

    2. Yes, I’m having the exact same problem.. Anybody have any ideas?

  5. Why don’t you just do: if ( post type = my post type) { post status = private; return post; }

    Seems like you have an extra unneeded line.

    1. This is true Adam, fixed it.

  6. is this code correct?
    I think that you forgot one “ELSE”

    1. Hi Jose,
      No it is correct, just create a new custom post type then add this to the functions.php and you will notice when you select add new for that custom post type it will be default have private selected.

      1. Hello Kevin,

        Still no way to delete my posts with this code.Any idea ?

        Regards,

        1. I used code like this, which checks if they are in the trash before making them private:
          //Force posts of custom type ‘internt-arkiv’ to be private
          //…but first make sure they are not ‘trash’ otherwise it is impossible to trash a post
          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 fevereiro 15, 2011 em 12:37 am

    […] This post was mentioned on Twitter by HTMLfrp, wp_freak. wp_freak said: #wordpress Force custom post type to be private http://bit.ly/fHzJuW […]

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de 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.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!