Eu sei que isso não é sugerido e que há muita discussão sobre esse argumento por aí. Infelizmente, depois de uma semana de tentativas e testes, ainda não consegui remover a lesma do meu tipo personalizado. Aqui está a situação:
A estrutura de URL que eu preciso
- post / blog / meu-blog-post [ok!]
- páginas / serviço-pai / serviço [ok!]
- portfólio / portfólio / meu primeiro trabalho [ok!]
- static / parent-static-page / static-page [<<< --- aqui está o problema]
Minha configuração
- Wordpress 3.5.2
- Tipo personalizado 'estático': hierárquico; sem nenhuma regra de "reescrita".
- Tipo personalizado 'portfólio': não hierárquico; 'reescrever' => matriz ('with_front' => false)
- Estrutura do link permanente: / blog /% postname% /
- Como primeira página, defino a página estática 'blog'
O problema
- postar blog / meu-blog-post [ok!]
- páginas / sites / sites dinâmicos [ok!]
- portfólio / portfólio / meu primeiro trabalho [ok!]
- static / quem-eu-sou / termos [<<< --- aqui está o problema]
O que eu tentei
Nada
No início, como esperado, o URL da postagem "estática" "Minha página de teste" é / blog / static / my-test-page
'reescrever' => matriz ('slug' => '', 'with_front' => false)
Tirei a frente da url ... bom! Agora eu tenho / static / my-test-page
'reescrever' => matriz ('slug' => false, 'with_front' => false)
Não remove a lesma. Eu tenho / static / my-test-page ainda.
'reescrever' => matriz ('slug' => '/', 'with_front' => false)
Remove a lesma! Agora eu tenho / minha página de teste . Infelizmente todas as páginas retornam um erro 404 .
Plug-in 'Remover slug do tipo de postagem personalizado'
Mesmo que funcione apenas se minha estrutura de link permanente for /% postname%, tentei instalar esse plug-in e alterar minha estrutura de link permanente para fazer um teste. Funciona, mas infelizmente não respeita a natureza hierárquica do meu tipo 'estático'.
O tutorial de Joakin Lim
Isso não funciona. Em particular, depois de adicionar, function book_rewrite_rule()
ele diz que meu tipo personalizado agora estará acessível em / my-test-page e / static / my-test-page , mas não funciona para mim. Eu posso acessar apenas a partir de / static / my-test-page . Tentei também aplicar todo o tutorial, também fazendo algumas alterações e testes, mas sem sucesso
O tutorial de vip.wordpress
Se eu alterar 'evento' por 'estático' em ambas as funções, poderei acessar minha página em blog / página pai / minha página de teste . Se eu adicionar 'reescrever' => ('with_front' => false) tudo trava e eu posso acessar apenas a partir de static / parent-page / my-test-page
Outras soluções e testes
Infelizmente, com minha reputação real, não posso vincular mais de dois links. Mas tentei também a solução encontrada em ryansechrest.com, shibashake.com e - é claro - TODAS as perguntas postadas neste portal antes. É claro que toda vez que eu limpei todas as regras dos links permanentes, visite a página de configuração, salve as opções, altere-as duas vezes e salve-as novamente, usando o global $wp_rewrite; $wp_rewrite->flush_rules();
. Eu tentei muitas combinações com a matriz 'reescrever' e as diferentes soluções acima.
Tem alguma sugestão?
fonte
Respostas:
Para fazer isso, sempre desabilito a lesma ao adicionar o tipo de postagem personalizado e adiciono reescrições personalizadas com a
add_rewrite_rule
funçãoVeja também esta página de codex: https://codex.wordpress.org/Rewrite_API/add_rewrite_rule
fonte