Aprende a suprimir en la URL el slug de un Custom Post Type (CPT) personalizado usando un snippet de código en WordPress.
Para escribir este tutorial me he inspirado en una duda de uno de nuestros suscriptores, Yoel, que quería eliminar el slug de su CPT.
Hace unas semanas aprendiste a crear mediante código un plugin que registraba un nuevo CPT adaptado para Genesis Framework y además añadía categorías (taxonomías personalizadas) al mismo.
El slug para ese CPT quedó definido de esta forma :
'rewrite' => array(
'slug' => __( 'porfolio', 'cg-cpt-portfolio' ),
Por lo tanto, si vas a la URL de un proyecto, la dirección será algo así:
https://tuweb/porfolio/nombre-del-proyecto/
¿Prefieres que ese slug no salga en la URL?:
https://tuweb/nombre-del-proyecto/
A continuación vas a descubrir cómo conseguirlo. Pero antes…
ATENCIÓN: Tocar los enlaces permanentes de WordPress puede tener efectos no deseados.
Por lo tanto, procura hacer las pruebas necesarias para asegurarte de que no hay colisiones de URLs o efectos secundarios.
Instrucciones para quitar el slug de un CPT de la URL
1. Modifica el slug del CPT
Cambia el slug del Custom Post Type sustituyendo:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Ya estás preparado para el siguiente paso.
2. Modifica el fichero functions.php
Añade el siguiente snippet a functions.php:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Con este bloque indicas a WordPress que el CPT ‘portfolio’ tiene la misma estructura de URLs que los posts y páginas de la web.
De esta manera, evitas un error 404 y la estructura de la URL será: https://tuweb/nombre-del-proyecto/.
Para que funcione con otros CPTs solo tienes que sustituir ‘portfolio’ por el que desees o añadir el nombre de un segundo Custom Post Type al snippet.
3. Otras consideraciones
Para comprobar que los cambios han surtido efecto, asegúrate de actualizar los enlaces permanentes.
Tienes 2 formas de hacerlo:
- Ve a Ajustes > Enlaces permanentes y haz clic en “Guardar cambios”.
- Si estás utilizando el plugin de CPT creado mediante código, también puedes desactivarlo y volverlo a activar. Él mismo se encargará de actualizar los enlaces.
Conclusión
Ahora ya sabes cómo eliminar de la URL el slug de un Custom Post Type personalizado.
Recuerda tener siempre mucho cuidado con los cambios en los enlaces permanentes para evitar posibles colisiones entre URLs.
¿Tienes alguna pregunta o quieres darme una sugerencia para próximos tutoriales? Déjala en los comentarios.
Ventajas de ser suscriptor.😉