Sé que no se sugiere y que hay mucha discusión sobre este argumento. Desafortunadamente, después de una semana de intentos y pruebas, todavía no he logrado eliminar la babosa de mi tipo personalizado. Aquí está la situación:
La estructura de url que necesito
- post / blog / my-blog-post [¡ok!]
- páginas / servicio-padre / servicio [¡ok!]
- portfolio / portfolio / my-first-work [¡ok!]
- static / parent-static-page / static-page [<<< --- aquí está el problema]
Mi configuracion
- Wordpress 3.5.2
- Tipo personalizado 'estático': jerárquico; sin ninguna regla de 'reescribir'.
- Tipo personalizado 'cartera': no jerárquico; 'rewrite' => array ('with_front' => false)
- Estructura de enlace permanente: / blog /% postname% /
- Como primera página configuro la página estática 'blog'
El problema
- post blog / my-blog-post [¡ok!]
- páginas / sitios web / sitios web dinámicos [¡ok!]
- portfolio / portfolio / my-first-work [¡ok!]
- static / who-i-am / terms [<<< --- aquí está el problema]
Lo que he probado
Nada
Al principio, como se esperaba, la url de la publicación "estática" "Mi página de prueba" es / blog / static / my-test-page
'rewrite' => array ('slug' => '', 'with_front' => false)
Quité el frente de la url ... ¡bien! Ahora tengo / static / my-test-page
'rewrite' => array ('slug' => false, 'with_front' => false)
No elimina la babosa. Tengo / static / my-test-page todavía.
'rewrite' => array ('slug' => '/', 'with_front' => false)
¡Elimina la babosa! Ahora tengo / my-test-page . Desafortunadamente, todas las páginas me devuelven un error 404 .
Complemento 'Eliminar babosa del tipo de publicación personalizada'
Aunque solo funciona si mi estructura de enlace permanente es /% postname%, he intentado instalar este complemento y cambiar mi estructura de enlace permanente para hacer una prueba. Funciona, pero desafortunadamente no respeta la naturaleza jerárquica de mi tipo 'estático'.
El tutorial de Joakin Lim
No funciona En particular, después de agregar function book_rewrite_rule()
, dice que mi tipo personalizado ahora será accesible desde / my-test-page y / static / my-test-page , pero no funciona para mí. Solo puedo acceder desde / static / my-test-page . También intenté aplicar todo el tutorial, también hice algunos cambios y pruebas, pero sin éxito.
El tutorial de vip.wordpress
Si cambio 'evento' con 'estático' en ambas funciones, puedo acceder a mi página desde blog / parent-page / my-test-page . Si agrego 'rewrite' => ('with_front' => false) todo se rompe y solo puedo acceder desde static / parent-page / my-test-page
Otras soluciones y pruebas
Desafortunadamente, con mi reputación real, no puedo vincular más de dos enlaces. Pero también probé la solución que se encuentra en ryansechrest.com, shibashake.com y, por supuesto, TODAS las preguntas publicadas en este portal anteriormente. Por supuesto, cada vez que eliminé todas las reglas de enlaces permanentes, visité la página de configuración, guardé las opciones, las cambié dos veces y las guardé nuevamente, usando el global $wp_rewrite; $wp_rewrite->flush_rules();
. He intentado muchas combinaciones con la matriz 'rewrite' y las diferentes soluciones anteriores.
¿Tienes alguna sugerencia?
fuente
Respuestas:
Para lograr esto, siempre desactivo el slug cuando agrego el tipo de publicación personalizado y agrego reescrituras personalizadas con la
add_rewrite_rule
función.Consulte también esta página del códice: https://codex.wordpress.org/Rewrite_API/add_rewrite_rule
fuente