Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Remover el slug de la página padre en WordPress

Si tienes una estructura de páginas padre y páginas hijas o subpáginas, notarás que las urls de las subpáginas se basan en la página padre. En este artículo veremos cómo quitar el slug de la página padre de la url que se genera, lo haremos directamente a través de código.

 

Generalidades

Si tienes una estructura de páginas similar a la siguiente imagen:

Estructura ejemplo página padre y páginas hijos

 
La estructura de URL para una subpágina será en base a la página padre, por ejemplo:

https://dominio.com/grupo-ejemplo/mi-pagina-de-ejemplo/

 

Resultado Final

Sin embargo lo que queremos obtener es una URL que no tenga referencias de la página principal, es decir:

https://dominio.com/mi-pagina-de-ejemplo/
En la url anterior ya no aparece el texto “grupo-ejemplo”, que es el slug de la página padre.

 

Código para cambiar la url

Antes de usar este código tienes que cambiar el enlace permanente de la página hija, puedes agregar un carater “_” delante por ejemplo, esto es debido a que si usas una parte del nombre inicial WordPress agregará igualmente el slug de la página padre.

Modificar slug de la subpágina agregar _ delante

 
Luego puedes agregar el siguiente código:


add_action('init', 'dcms_custom_rewrite_rule', 10, 0);
function dcms_custom_rewrite_rule() {
        $id_page = 2;
        $new_url='mi-pagina';
        add_rewrite_rule("^{$new_url}/?$","index.php?page_id={$id_page}","top");
}
Puedes agregar este código en el archivo functions.php de tu tema hijo en algún plugin de Snippets.

En el código anterior:

  • Se usa el Hook init que hace referencia a la función dcms_custom_rewrite_rule
  • Dentro de esta función hay dos variables que debes cambiar, la primera es el ID de la página
  • La otra variable es el nuevo texto para el slug
  • Con los valores de estas variables entonces se usa la función de WordPress add_rewrite_rule() para cambiar la url
Como parte final tienes que ir a Ajustes > Enlaces Permanentes y guardar, (no es necesario que hagas cambios en esta pantalla)

 

Conclusión

Como has podido comprobar, puedes cambiar las urls de las páginas hijas y remover el slug de la página padre, hemos visto como realizar esto de manera simple a través de código.

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

Suscríbete a DecodeCMS:  

 

La entrada Remover el slug de la página padre en WordPress es un artículo reciente del sitio DecodeCMS.

Enregistrer un commentaire

0 Commentaires