add_rewrite_rule () no funciona

2

Necesito pasar una referencia de propiedad la última parte de una URL para buscar una entrada en la base de datos, por ejemplo,

  

enlace

Necesito pasar el G638 a una matriz para mi complemento. Lo que tengo a continuación es llamar a la página de detalles de la casa de campo, pero eliminar la última parte de la URL y mostrar una página vacía, en lugar de la información que deseo recuperar del servidor. Si uso

  

enlace

funciona perfectamente.

/**
 * Rewrite tags for plugin
 */
function dcc_rewrite_tags() {
    add_rewrite_tag('%propref%', '([^&]+)');
}

add_action('init', 'dcc_rewrite_tags', 10, 0);

/**
 * Rewrite rules for plugin 
 */
function dcc_rewrite_rules() {
    add_rewrite_rule('^[^/]*/([^/]*)/?','index.php?p=2&propref=$matches[1]','top');
}

add_action('init', 'dcc_rewrite_rules', 10, 0);

¿Qué está pasando?

    
pregunta Badger 27.01.2015 - 18:42

1 respuesta

5

La regla de reescritura es bastante amplia y es muy probable que genere muchos conflictos.

add_action('init', 'dcc_rewrite_tags');
function dcc_rewrite_tags() {
    add_rewrite_tag('%propref%', '([^&]+)');
}

add_action('init', 'dcc_rewrite_rules');
function dcc_rewrite_rules() {
    add_rewrite_rule('^cottage-details/(.+)/?$','index.php?page_id=2&propref=$matches[1]','top');
}

Luego puedes acceder a propref query var like:

$propref = get_query_var( 'propref' );

Y recuerda limpiar las reglas de reescritura; puede hacerlo yendo a Configuración - > Permalinks y haciendo clic en el botón Guardar.

Nota : se modificó p query var por page_id porque, como dijiste en los comentarios, estás utilizando una página, no una publicación estándar.

    
respondido por el cybmeta 27.01.2015 - 20:28

Lea otras preguntas en las etiquetas