Use a página do WordPress em vez do arquivo de tipo de postagem

12

Desculpe se esta é uma duplicata - não consigo encontrar uma resposta.

Como eu reescrevo uma página de arquivo de tipo de postagem personalizada para uma página do WordPress 'criada pelo homem'?

Por exemplo:

  • Página única: http://www.mywebsite.com/cool-post-type/awesome-single-post/
  • Página de arquivamento: http://www.mywebsite.com/cool-post-type/

Eu quero que http://www.mywebsite.com/cool-post-type/ reescreva para http://www.mywebsite.com/about-cool-post-types/ .

Posso apenas fazer isso com o htaccess e qual seria a sintaxe? (Eu não sou bom em htaccess!)

Isso não funciona:

RewriteRule ^cool-post-type\/\?$ /about-cool-post-types [L]

Ou eu tenho que fazer isso no código-fonte do WordPress? Eu não quero!

    
por Warwick 20.10.2016 / 15:06

2 respostas

15

Este é realmente muito fácil. Quando você declara seu tipo de postagem usando register_post_type , é necessário adicionar um novo argumento para 'has_archive'.

Você adicionará algo ao efeito de:

'has_archive' => 'about-cool-post-types'

Depois, vá para Configurações> > Permalinks para limpá-los e deve funcionar. Testei-o localmente e esta parece ser a maneira de gerar automaticamente sua página de arquivo em um URL diferente. Então, você deve ser capaz de criar uma página no slug do CPT.

    
por socki03 20.10.2016 / 15:33
5

Há também um plugin simples de 1 arquivo para isso agora, pelo pessoal da HumanMade;

enlace

(Meta: Eu sei que respostas com links não são ótimas, mas eu não quero apenas copiar e colar o código-fonte para aquela coisa em uma resposta. Qual é a melhor estratégia para esse tipo de coisa?)

    
por RichardTape 25.10.2016 / 21:04