Custom Post Type Error 404: Enlaces Funcionan y Fallan

  • Autor Autor chocovo
  • Fecha de inicio Fecha de inicio
C

chocovo

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Hola,

En mi web tengo un Custom Post Type creado en functions.php con sus categorías y hasta ahí todo bien.

El problema que tengo es que en algunos registros me está dando error 404 (en la simple page) y en otros casos no.

Un ejemplo:
La verdad es que no entiendo por qué el primero enlace es OK y los otros 2 dan ERROR.

Comentar que para que se vea todo tengo en el código este rewrite:
function rewrite_rules_for_removing_post_type_slug(){ add_rewrite_rule( '([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?', 'index.php?espais-type=$matches[1]&espais=$matches[2]&espais=$matches[3]&espais=$matches[4]&espais=$matches[5]&post_type=espais', 'top' ); } add_action('init', 'rewrite_rules_for_removing_post_type_slug',1,1);

No sé si será algo del "add_rewrite_rule"? Otros Custom Post type que interfieren? Ni idea...

¿Alguien tiene alguna idea del por qué unos enlaces funcionan y otros no?

Gracias y un saludo.
 
Hola,

Debes realizar un flush de las reglas. Ya sea entrando a Ajustes > permalinks - Darle a 'guardar'.
O utilizando código dentro del action wp_loaded / init (no recuerdo en cual):
PHP:
global $wp_rewrite; $wp_rewrite->flush_rules();
 
Hola,

Debes realizar un flush de las reglas. Ya sea entrando a Ajustes > permalinks - Darle a 'guardar'.
O utilizando código dentro del action wp_loaded / init (no recuerdo en cual):
PHP:
global $wp_rewrite; $wp_rewrite->flush_rules();
Se me ha olvidado comentarlo pero cada vez que cambio la regla y vuelvo a probar, guardo las permalinks y borro la caché. El problema está en otro sitio. 😉
 
Uhmm viendo las URLs de ejemplo, pues si “tienes” puntos en la URL no creo que te funcione 😅 y el ejemplo #3 tiene 6 parámetros en vez de los 5 esperados en la regla ($match). Tal vez si creas una regla adicional para ese caso.

Te recomiendo el plugin Query Monitor para ver si la regla se cumple, y de realizar una consulta SQL verificar si trae registro, de lo contrario traerá 404.

Suerte!
 
Lo de los punto es cosa del foro que me ha acortado el enlace… lo sabías, verdad? 😅
Voy a probar lo de query monitor… no sabía que ese tipo de plugin existía.
 
 
Hola,

Tengo claro que es un tema de "add_rewrite_rule" y regex.

Por mucho que intente hacer reglas, no entiendo bien lo del REGEX, lo de MATCHES y no consigo hacer que me cuadren todos las URLs.

¿Hay alguien en la sala que entienda bien lo de REGEX y add_rewrite_rule que me pueda ayudar?

Las URLs pueden ser del tipo y claro, que me funcionen unas sí y otras no, no me vale:
Gracias y un saludo
 

Temas similares

Atrás
Arriba