Como definir um tipo de postagem personalizado para não aparecer no front end

9

Uso um tipo de postagem personalizado em um dos meus sites para apresentações de imagens. Tenho um número publicamente consultável definido como falso / desativado, mas quando o Google rastreia meu site, vejo 404 erros nos URLs das minhas apresentações de slides. Eu pensei que, tendo consultado publicamente o Wordpress, não criaria esses URLs de front-end.

Como posso desativar completamente os URLs e páginas de front-end do meu tipo de postagem personalizado?

EDITAR

Ao adicionar public => false, has_archive => false, publicaly_queryable => false, e query_var => falsetenho obtido sucesso livrar dos erros 404 em Google. Também adicionei a função fornecida pelo @Norcross apenas para uma boa medida.

dkmojo
fonte
Qual é o seu URL?
s_ha_dum
como você edita os tipos de postagem personalizados com essas configurações? Falsos meios públicos Eu não posso editá-lo na administração
Laurence Cope
1
Para editar nos olhares de administração como você precisa = públicas> true, então você tem um erro de digitação para torná-lo não é visível na parte frontal, que deve ser publicly_queryable
Laurence Cope
!!!! Atenção !!! Há um erro de digitação deve ser 'publicly_queryable' não 'publicaly_queryable'
Tofandel

Respostas:

6

Outra opção seria definir um redirecionamento 301 para que todos os CPTs da apresentação de slides sejam redirecionados para algum lugar (como a página inicial). Isso seria detectado pelo Google e também garantiria que ninguém os atingisse acidentalmente.

function rkv_slideshow_redirect() {
    global $wp_query;

    // redirect from 'slideshow' CPT to home page
    if ( is_archive('CPT_NAME_HERE') || is_singular('CPT_NAME_HERE') ) :
        $url   = get_bloginfo('url');

        wp_redirect( esc_url_raw( $url ), 301 );
        exit();
    endif;
}

add_action ( 'template_redirect', 'rkv_slideshow_redirect', 1);
Norcross
fonte
Obrigado! Todos os meus erros de apresentação de slides 404 no Google agora se foram. Eu adicionei public => false, has_archive => false e publicly_queryable => false e eles não aparecem mais como erros 404. Eu adicionei o código que você forneceu ao meu arquivo functions.php "por precaução". Obrigado novamente!
Dkmojo 31/12/12
2

Aparentemente, sua apresentação de slides , não o WordPress, está revelando esses URLs. Suponho que ele esteja agrupando as imagens na apresentação de slides com links para as postagens personalizadas, que você não deseja. Você precisa editar a apresentação de slides para que não faça isso.

s_ha_dum
fonte
A apresentação de slides usa wp_get_attachment_image_src para extrair as imagens em um loop, para que não haja um link para o tipo de postagem personalizada da apresentação de slides. Acabei de definir o parâmetro "public" no meu método de tipo de postagem personalizado de registro como false. Vou ver se isso ajuda. Obrigado pela sua contribuição!
Dkmojo 01/12/12
1

Uma modificação na sua pergunta original, você deve adicionar

'exclude_from_search' => true,

Se isso não for adicionado, o CPT será exibido nos resultados da pesquisa.

JoseLazo
fonte
developer.wordpress.org/reference/functions/register_post_type : exclude_from_search(bool) Se deseja excluir postagens com esse tipo de post dos resultados da pesquisa de front-end. O padrão é o valor oposto de $ public.
Erenor Paz