¿Significado de esta REGEX en rewrite_rule de WordPress?

  • 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,

No acabo de entender lo que tengo... A ver si alguien me lo puede aclarar...

add_rewrite_rule(
'espacios/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?',
'index.php?espais-type=$matches[1]&espais=$matches[2]&espais=$matches[3]&espais=$matches[4]&post_type=espais',
'top'
);


¿Ese "espais-type=$matches[1]" está bien? ¿Qué significa?

Gracias
 
Hola,

No acabo de entender lo que tengo... A ver si alguien me lo puede aclarar...

add_rewrite_rule(
'espacios/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?',
'index.php?espais-type=$matches[1]&espais=$matches[2]&espais=$matches[3]&espais=$matches[4]&post_type=espais',
'top'
);


¿Ese "espais-type=$matches[1]" está bien? ¿Qué significa?

Gracias
De donde copiaste ese codigo?
 
En su momento estaba haciendo pruebas y lo copié de algún resultado de Google...
 
En su momento estaba haciendo pruebas y lo copié de algún resultado de Google...
Busco información y no termino de entender las add_rewrite_rule! 😛
 
add_rewrite_rule(
'espacios/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?',
'index.php?espais-type=$matches[1]&espais=$matches[2]&espais=$matches[3]&espais=$matches[4]&post_type=espais',
'top'
);

Viendo la documentación lo que hace es pasar los parametros de la expresion regular al array $matches. Cada parentesis es un elemento del array, como se ve con los colores. Por lo que la URL:
espacios/par1/par2/par3/par4
lo traduce en
index.php?espais-type=par1&espais=par2&espais=par3&espais=par4&post_type=espais
 
El Custom Post Type se llama "espais" y lo de los colores que más o menos lo intuía pero lo que no sé es lo siguiente:

Todos los matches a excepción del último son categorías..
  • las urls son del tipo "espacios/espana/andalucía/malaga/mitienda
  • espais-type = ... ¿el "-type" a qué se refiere? ¿Qué tiene que ver el $matches[1]?
  • No le acabo de ver la relación... funciona pero no entiendo cómo y porqué... jajaja
Saludos
 
El Custom Post Type se llama "espais" y lo de los colores que más o menos lo intuía pero lo que no sé es lo siguiente:

Todos los matches a excepción del último son categorías..
  • las urls son del tipo "espacios/espana/andalucía/malaga/mitienda
  • espais-type = ... ¿el "-type" a qué se refiere? ¿Qué tiene que ver el $matches[1]?
  • No le acabo de ver la relación... funciona pero no entiendo cómo y porqué... jajaja
Saludos
El $matches[1] es igual a espana, osea obtiene el dato de la url y lo pasa al index.php asi index.php?espais-type=$matches[1]

Con este código agregas la variable espais-type a la lista blanca y la puedes obtener usando

PHP:
get_query_var( 'espais-type');

PHP:
function themeslug_query_vars( $qvars ) {
    $qvars[] = 'espais-type';
    return $qvars;
}
add_filter( 'query_vars', 'themeslug_query_vars' );

Pero imagino que todavía faltan codigos.
 
Atrás
Arriba