Como remover slug de tipos personalizados hierárquicos no 3.5.2

8

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?

Marco Panichi
fonte
1
Revivendo uma pergunta que foi feita há muito tempo (ótima pergunta, BTW). Você já encontrou uma solução? Uma solução poderia ser usar os tipos de página WP padrão e usar um modelo de página personalizado?
23416 Jen
Olá @guiniveretoo, ainda não encontrei uma solução. No meu site, estou implementando uma experiência: converterei todos os meus tipos de postagem personalizados (portfólio, ferramentas, informações) e todas as postagens em páginas. Dessa maneira, simplificarei a estrutura e os URLs. Então eu especificarei páginas com meta campos; também o front end resultará mais simples.
Marco Panichi

Respostas: