As páginas do tipo de postagem personalizada "não foram encontradas"


17

Criei dois novos tipos de postagem personalizada usando o código usado com sucesso em outros projetos sem problemas. O primeiro é chamado top_charts, o outro case_studies, e ambos aparecem corretamente no menu do administrador e posso criar novas postagens.

Infelizmente, as novas postagens não aparecem. Acabei de receber uma 404.phpresposta.

Eu criei um archive-top_charts.phppara ver se consigo exibir alguma coisa, mas vejo uma 404.phpresposta "página não encontrada".

Eu nomeei originalmente as postagens personalizadas top-chartse case-studies, mas achei que o hífen poderia ter sido o problema, renomeei-as para usar um sublinhado. Isso não ajudou.

Tentei salvar novamente meus Permalinks, mas nada mudou. Minha página .htaccess também se parece com o que você esperaria (e outras páginas funcionam bem). O que mais posso verificar?


1
você usou flush_rewrite_rules (false); em registrar tipo de postagem? para obter mais detalhes, siga este link nooshu.com/page-not-found-with-custom-post-types
jas

Obrigado. Isso corrigiu o link para a postagem em si, mas não para a archive-top_charts.phppágina. Estranho!
Django Reinhardt

Apenas adicionando parte dela na resposta que pode ajudar outros usuários e tentar procurar também o arquivo morto.
jas

Encontrei a resposta simples para esse bug em outra postagem da pilha: Tipo de
dnll

Respostas:


18

Para corrigir postagens personalizadas não encontradas, use o código abaixo em seu functions.php:

flush_rewrite_rules( false );

Você deve fazer isso apenas como uma medida temporária, caso contrário, ele será executado em cada carregamento de página.

Para mais detalhes, siga este link

Quanto ao archive-top_charts.phpnão aparecer, verifique se 'has_archive' => truevocê está registrando seu tipo de postagem.


grande você encontrou 'has_archive' :)
jas

25

Você não precisa editar seu código php!

Enquanto você pode fazer isso na função que registra seu tipo de postagem personalizado, como as outras respostas, também pode fazer isso no menu de configurações, evitando tocar no seu código php:

Para liberar regras de reescrita ou links permanentes do WordPress (geralmente precisam ser feitos manualmente para novos tipos de postagem personalizados) no Painel:

  1. No menu principal, localize "Configurações> Links permanentes".
  2. Role para baixo, se necessário, e clique em "Salvar alterações".
  3. As regras de reescrita e os links permanentes são liberados.

É simples assim!

imagem de salvar a página de links permanentes referência


2
Acredito que também precisava has_archive, mas é bom saber que você pode forçar um flush no menu.
Django Reinhardt

1
Existe alguma maneira de salvar alterações nos (permalinks) automaticamente (atualização), em vez de ir para Configurações> Links permanentes toda vez que uma categoria / termo de CPT é adicionada? Por exemplo, como os não administradores poderão fazer isso se não tiverem acesso às configurações? Um gancho pode ser chamado ao adicionar uma nova categoria para liberar automaticamente os permalinks?
Ryan Coolwebs

0

Sei que isso está atrasado no jogo (e pode não ser o problema relacionado), mas eu queria apontar para outras pessoas um possível problema.

No meu caso, eu havia definido minha reescrita de taxonomia para ferramentas e o tipo de conteúdo reescrito para a mesma coisa. Portanto, nunca funcionaria corretamente, pois era um conflito. Infelizmente, não há detecção para uma coisa dessas, então eu pensei em indicá-la para outras pessoas.


-1

No meu caso, estavam faltando direitos na minha pasta de desenvolvimento para que o arquivo .htaccess não pudesse ter sido criado / / modificado.

Portanto, a descarga manual ou a gravação de alterações no WP Permalinks não estavam ajudando.

A solução foi criar o arquivo .htaccess sozinho

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.