• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Core / Eliminar el slug de la URL de un Custom Post Type

Eliminar el slug de la URL de un Custom Post Type

Eliminar el slug de la URL de un Custom Post Type

[ 10 marzo 2021 ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

funcionalidad optimización

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

En un artículo anterior habíamos visto cómo crear un Custom Post Type en WordPress, directamente a través de código, sin embargo la creación del CPT tiene por defecto un alias o slug como parte de su url, en este artículo veremos cómo quitar ese slug de la url.

 

Generalidades

Tomaremos como ejemplo la creación de un CPT llamado recetas, además nos aseguraremos que este CPT ya se muestre correctamente en el front-end del sitio.

Si tienes dudas sobre cómo trabajar con Custom Post Type, revisa: Usando Custom Post Type en WordPress.

 

Resultado Final

Al final queremos obtener algo similar a la siguiente imagen

Resultado final quitar slug cpt

 

Modificando la creación del CPT

Al crear el CPT habíamos establecido algunos valores para el rewrite, sin embargo ahora lo asignaremos directamente a false

'rewrite' => false,
Quitamos el comportamiento de urls amigables por defecto para el CPT ya que estableceremos las urls amigables por código.

 

Código para urls amigables del Custom Post Type

En el siguiente código asumimos que el CPT es: “recetas_post_type” , puedes cambiar este valor por el nombre con el que registraste tu CPT.


// Agregamos la condición de rewrite sin considerar el texto del slug del CPT
function custom_post_type_rewrites() {
    add_rewrite_rule( '([^/]+)/?$', 'index.php?recetas_post_type=$matches[1]');
}
add_action( 'init', 'custom_post_type_rewrites' );


// Establecemos URLs amigables
function custom_post_type_permalinks( $post_link, $post, $leavename ) {
    if ( isset( $post->post_type ) && 'recetas_post_type' == $post->post_type ) {
        $post_link = home_url( $post->post_name );
    }
    return $post_link;
}
add_filter( 'post_type_link', 'custom_post_type_permalinks', 10, 3 );

Luego de agregar este código asegúrate de ir al backend de tu sitio y luego en Ajustes > Enlaces Permanentes y guardar, no es necesario que hagas modificaciones, simplemente dale guardar.
Puedes agregar este código al final de tu archivo functions.php de tu tema hijo.

 

Conclusión

Actualmente WorPress no ofrece una solución simple para quitar el slug de un CPT de la url, en este artículo hemos aprendido cómo realizar esto directamente a través de código.

 
¿Aún con dudas?, en el siguiente video detallamos los puntos anteriores.

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Agregar el slug blog en las urls de las entradas de WordPressAgregar el slug blog en las urls de las entradas de WordPress
  • Remover el slug de la página padre en WordPressRemover el slug de la página padre en WordPress
  • Cambiar el tipo de Custom Post Type en WordPressCambiar el tipo de Custom Post Type en WordPress
  • Custom Post Types en WordPressUsando Custom Post Types en WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (2 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. Alejandro Marcos Carro

    1 septiembre, 2021

    Hay alguna manera de mostrar la categoria a la que pertenece? Dejarlo en https://dominio.com/category/post-name?

    • Jhon Marreros Guzmán

      4 septiembre, 2021

      Hola, puedes usar una estructura de url personalizada desde Ajustes > Enlaces permanentes, puedes probar con: /%category%/%postname%/

  2. Abel

    7 octubre, 2021

    Hola.A mí me da un erro 404 cuando ya esta amigable

    • Jhon Marreros Guzmán

      7 octubre, 2021

      Hola, asegúrate de guardar nuevamente en la pantalla de enlaces permanentes.

      • Javier

        25 octubre, 2021

        Hola Jon! a mi me pasa lo mismo, aún habiendo guardado la configuración de enlaces permanentes va a la 404.

  3. Jorge

    13 febrero, 2022

    Otro más por aquí que ha hecho todos los pasos y me sigue dando error 404…

    • Jhon Marreros Guzmán

      17 febrero, 2022

      Hola, prueba realizar este artículo relacionado y verifica si te sucede lo mismo: https://decodecms.com/agregar-el-slug-blog-en-las-urls-de-las-entradas-de-wordpress/

      • Samuel

        4 octubre, 2022

        Buenas! Yo tampoco soy capaz de que funcione. Lo he intentado de varias maneras y tras guardar varias veces los enlaces permanentes sigue dando error 404…

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Presentación

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Jooble
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad social woocommerce

Populares

Agregar datos a los endpoints de la API de WooCommerce

Qué debes tener en cuenta para modificar código en WordPress

¿Qué son las claves de seguridad en WordPress y cómo cambiarlas?

Personalizar el mantenimiento programado de WordPress

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2023 Todos los derechos reservados