J'ai les balises de réécriture suivantes définies:
// ADD REWRITE TAG FOR 'VEHICLE MAKES'
add_rewrite_tag('%make%','([^&]+)');
// ADD REWRITE TAG FOR 'BODY STYLES'
add_rewrite_tag('%body-style%','([^&]+)');
// ADD REWRITE TAG FOR 'OTHER TOPICS'
add_rewrite_tag('%topic%','([^&]+)');
J'essaie de créer une réécriture personnalisée pour chacune de celles-ci pouvant s'appliquer à n'importe quelle page où les variables existent.
J'ai retravaillé l'exemple WP dans la documentation, sans succès. Cette réécriture est pour 'Vehicle Makes'.
Je souhaite que WP interprète ce qui suit:
http://example.com/make/abc
comme
http://example.com?make=abc
et le même modèle pour
http://example.com?body-style=abc
& http://example.com?topic=abc
Je n'arrive pas à obtenir ce qui suit au travail, peu importe combien j'essaye
add_rewrite_rule('^nutrition/([^/]*)/([^/]*)/?','index.php?page_id=12&food=$matches[1]&variety=$matches[2]','top');
Toute aide est appréciée!
Avez-vous essayé d'ajouter le troisième paramètre à cet appel?
add_rewrite_tag( '%make%', '([^/]+)', 'make=' );
La manière d'utiliser la fonction add_rewrite_rule
est donnée ci-dessous:
init
query_vars
pour rendre la nouvelle réécriture disponible dans le query_vars
Voici l'extrait de code
add_action('init', 'my_custom_rewrite_rule');
function my_custom_rewrite_rule() {
add_rewrite_rule( 'make/([^/]+)/?$', 'index.php?make=$matches[1]', 'top' );
}
add_filter('query_vars', 'my_rewrite_query_var');
function my_rewrite_query_var( $vars ) {
$vars[] = 'make';
return $vars;
}
Maintenant, allez à la page des paramètres de permalien, et cliquez sur Save Changes
pour vider les règles de réécriture.
Avant de poser une question, essayez de la découvrir vous-même. Dans le cas de wordpress, vous devriez d'abord regarder http://codex.wordpress.org/ .
La plupart des réponses sont déjà disponibles.
Le morceau de code que vous recherchez est une fonction flush_rewrite_rules () .
Ref: Règles de réécriture