Use la página de WordPress en lugar del archivo de tipo de publicación

15

Lo siento si esto es un duplicado. No puedo encontrar una respuesta.

¿Cómo reescribo una página de archivo de tipo de publicación personalizada en una página de WordPress 'hecha por el hombre'?

Por ejemplo:

  • Única página: http://www.mywebsite.com/cool-post-type/awesome-single-post/
  • Página de archivo: http://www.mywebsite.com/cool-post-type/

Quiero http://www.mywebsite.com/cool-post-type/reescribir a http://www.mywebsite.com/about-cool-post-types/.

¿Puedo hacer esto con htaccess y cuál sería la sintaxis? (¡No soy bueno en htaccess!)

Esto no funciona:

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

¿O tengo que hacer esto en el código fuente de WordPress? Yo no quiero!

Warwick
fuente

Respuestas:

16

Este es realmente bastante fácil. Cuando declara su tipo de publicación utilizando register_post_type , debe agregar un nuevo argumento para 'has_archive'.

Entonces agregará algo en el sentido de:

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

Luego, vaya a Configuración> Enlaces permanentes para eliminarlos y debería funcionar. Lo probé localmente, y esta parece ser la forma de generar automáticamente su página de archivo en una URL diferente. Luego, debería poder crear una página en la babosa del CPT.

socki03
fuente
Esto dejó de funcionar, pero logré solucionarlo asignando 'has_archive' a texto arbitrario y renombrando el slug de mi página a la categoría slug.
Warwick
7

También hay un complemento simple de 1 archivo para esto ahora, por la gente de HumanMade;

https://github.com/humanmade/page-for-post-type

(Meta: Sé que las respuestas con enlaces generalmente no son geniales, pero no solo quiero copiar y pegar el código fuente de esa cosa en una respuesta. ¿Cuál es la mejor estrategia para este tipo de cosas?)

RichardTape
fuente