Livre-se dos arquivos de categoria, tag e autor do Wordpress?

9

Eu pesquisei na internet sem sucesso no que deveria ser uma coisa fácil.

Eu tenho um blog altamente personalizado com páginas, subpáginas e posts. Embora eu dependa muito do uso de categorias e tags, não quero que eles sejam exibidos em um URL. O mesmo vale para autores e categorias de datas. Basicamente eu não quero lançar um erro 404 se alguém tentar acessar essas páginas. Alguém pode me apontar na direção certa? Obrigado!

Os seguintes itens não devem estar acessíveis:

example.net/category/books /

example.net/tag/ebooks /

example.net/author/dickens /

example.net/2012/10 /

    
por psot 21.10.2012 / 01:30

2 respostas

5

baseando-se na resposta do chrisguitarguy, aqui está um pequeno trecho que você pode colocar no arquivo functions.php do seu tema para fazer o trabalho

add_action('template_redirect', 'wpse69948_archive_disabler');
function wpse69948_archive_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}
    
por Bainternet 21.10.2012 / 01:57
7

Eu escrevi um plugin para isso - que precisa de alguma atualização, mas ainda deve funcionar bem.

Essencialmente você conecta em algum lugar depois que o WordPress sabe qual página é solicitada (como template_redirect ), use uma das funções condicionais e use $wp_query->set_404() ou apenas redirecione o usuário para uma página de sua escolha.

Para desativar categorias, tags, autor e arquivos de data:

<?php
add_action('template_redirect', 'wpse69948_tag_disabler');
function wpse69948_tag_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}
    
por chrisguitarguy 21.10.2012 / 01:43