Acabei de adicionar um plug-in ao Diretório do Wordpress que remove a base slug de qualquer taxonomia personalizada e da taxonomia de categoria padrão. Você pode encontrá-lo aqui - enlace
Estou tentando criar a seguinte estrutura de URL:
example.com/attractions <-- post type archive
example.com/attractions/taxonomy_term <-- taxonomy archive
example.com/attractions/van-gogh-museum <-- custom post type
Infelizmente, isso não é possível por padrão: o WordPress precisa da base da taxonomia na URL, como o usuário da SE sanchothefat escreveu em sua resposta a esta questão :
... se você não quer que a lesma-taxonomia esteja lá, então você está sem sorte, você não pode ter o mesmo slug como seu tipo de post ou outro taxonomia, uma vez que não sabe o que é termo do qual taxonomia e o que é um post.
Em outras palavras, o WordPress precisa dessa estrutura de permalink:
example.com/attractions/taxonomy_base/taxonomy_term
Minha pergunta: Existe uma maneira de fazer este trabalho usando o WordPress reescrever API?
Suponho que envolve 2 etapas:
Eu encontrei um snippet de código que deve remover a base da taxonomia da URL:
global $wp_rewrite;
$wp_rewrite->extra_permastructs['taxonomy_base'] = array('%taxonomy_base%', EP_NONE);
( Fonte - veja a última resposta na parte inferior da página)
Esta não é a solução completa, já que o WordPress não sabe se a postagem é um arquivo de taxonomia ou um tipo de postagem ...
O autor deste artigo excelente em Consultas taxonômicas avançadas com URLs bonitas me escreveram:
O que você está perguntando não é muito difícil, mas pode ser um pouco complicado. As regras de reescrita precisam saber que tipo de coisa o segundo termo é (..) É por isso que o prefixo do nome da categoria / tag / taxonomia é prefixado. Você poderia criar uma reescrita para que tudo depois de / atrações / seja tratada como uma URL de taxonomia, mas fazer as duas coisas é um pouco complicado.
Para qualquer um que tenha o mesmo problema, dê uma olhada em esta discussão no WordPress Answers. Especialmente o código do plugin do MikeSchinkel pode ajudar.
Aqui está um exemplo interessante de WPCandy combinando a base e o termo da taxonomia no URL: http://wpcandy.com/pros/experienced/with-multisite
Acabei de adicionar um plug-in ao Diretório do Wordpress que remove a base slug de qualquer taxonomia personalizada e da taxonomia de categoria padrão. Você pode encontrá-lo aqui - enlace
Recentemente, deparei com a mesma situação e, depois de um dia pesquisando uma solução e não consegui encontrar nenhuma, escrevi minha própria solução working .
O truque é usar o wp_rewrite do Wordpress e adicionar seus URLs a ele quando o Wordpress gera seus permalinks no começo.
Eu escrevi uma função simples para fazer tudo automaticamente e expliquei tudo no meu blog (não quero colar o mesmo código duas vezes), então fique à vontade para dar uma olhada;)