Há postagens anteriores com título semelhante, mas ele não é direcionado para o WordPress 3.3, e isso é importante porque o 3.3 anuncia de forma interessante: "Use a estrutura de permalink do nome do post sem uma penalidade de desempenho"
O problema com o Wordpress 3.2 e versões anteriores foi que primeiro ele olhou os nomes das páginas e depois o 404. Ele não verificou primeiro os tipos de postagem arbitrários. 3.3, por outro lado, deve procurar os tipos de postagem, as páginas e, finalmente, o 404 (como anuncia esse recurso). Isso implica que os tipos de postagem personalizados sem slug devem ser simples , se não tiverem codificado em post_type=post
algum lugar.
Ainda não consigo encontrar uma solução específica para 3.3.
Pergunta : Como posso definir a estrutura do permalink "/% postname% /" para qualquer tipo de postagem personalizada "xyz"?
Obrigado.
fonte
Respostas:
Isso não é fácil no WP 3.3, a menos que você engane as regras de reescrita para estar no local correto e faça com que o wp_rewrite pense que regras detalhadas estão sendo usadas no front-end. A turma abaixo funciona.
fonte
Chaves do carro santo!
Eu acho que isso funciona. Quase funciona, é super simples, apenas uma linha:PS Se você tentar fazer isso em casa, depois de adicionar esta linha, vá para "Configurações" -> "Links permanentes" e Salvar alterações, atualizando os links permanentes.
Eu estava lendo o
register_post_type()
código fonte do WP e encontrei uma linha:Escusado será dizer que, sem lesmas, concluí que deveria funcionar,
e funcionou. Até a edição permalink abaixo do título no editor funciona corretamente!Atualização: Isso interrompe os permalinks da página, de volta à prancheta ...
fonte
A resposta prettyboymp é quase a mesma que recebi ontem, mas não estou feliz com isso. A resposta de prettyboymp tem uma falha, não funciona quando /% postname% / está sendo usado simultaneamente em vários tipos de postagem.
Aqui está a minha resposta, que também analisa a estrutura atual e cria uma variedade de tipos de post para recorrer. No entanto, existe uma falha nisso, se dois tipos de postagens tiverem a mesma lesma e ambos forem /% postname% /, será exibido ambos.
fonte
Criei uma solução e não consegui encontrar um problema com ela. Por favor, tente e me diga se você encontrar um problema
Mude 'yemek' com o nome do seu tipo de postagem.
fonte
Este link deve responder à sua pergunta:
http://ottopress.com/2011/how-the-postname-permalinks-in-wordpress-3-3-work/
fonte
A resposta mais limpa que eu poderia ter encontrado para isso (estou criando um plug-in que realmente precisa de um tipo de postagem personalizado sem nenhuma lesma à frente) é usar um modelo de página personalizado em vez de usar um tipo de postagem personalizado.
Ao fazer isso, seu "tipo de postagem personalizado" pode ter URLs como / o que for, sem ter que se preocupar em entrar na página ou publicar permalinks.
Para fazer isso, acabei fazendo o seguinte:
Isso me permitiu:
Puxe uma lista de páginas que usam o modelo de página usando WP_Query
Adicione processamento especial conectando add_meta_boxes para armazenar meus dados personalizados
Adicione meu modelo personalizado aos exibidos filtrando page_attributes_dropdown_pages_args, theme_page_templates, wp_insert_post_data e template_include, veja esta postagem sobre como adicionar modelos de página a um plug-in
Os lados baixos
É claro que, embora isso não atrapalhe os links da página ou publique, ele tem algumas desvantagens óbvias.
Sem arquivo Você não terá um arquivo (se desejar), mas isso pode ser resolvido criando outro modelo de página para desenhar um arquivo de todas as páginas usando seu modelo personalizado.
Gerenciado em páginas Você não recebe a boa navegação à esquerda no administrador que agrupa todo o tipo de postagem.
Isso pode ser parcialmente resolvido adicionando um filtro à lista de páginas (para permitir que você filtre pelo modelo de página que está sendo usado), mostrando qualquer modelo de página usado em uma nova coluna etc.
Dito isto, eu queria algo que não fizesse com que os usuários se perguntassem por que eles criaram uma nova página personalizada e descobriram que não podiam mais acessar páginas normais ou a nova página personalizada fez com que uma página existente em seu site desaparecesse.
Sei que não é uma solução real , mas é uma alternativa que funcionou muito bem para minhas necessidades.
fonte