Je suis l'exemple WP . Je sais que ma règle de réécriture est en train d'être ajoutée à WordPress, je dois donc corriger la règle. Alors voici mon code actuel:
add_filter('rewrite_rules_array','mcs_TextbookRewriteRules');
add_filter('query_vars','mcs_insertTextbookQueryVars');
// Adding a new rule
function mcs_TextbookRewriteRules($rules) {
$newrules = array();
$newrules['textbook/(cantonese|mandarin)/([C|M]K?[0-9]+)/([0-9]+)$'] = 'index.php?pagename=textbook/$matches[1]/?cls=$matches[2]&ch=$matches[3]';
//$newrules['textbook/(cantonese|mandarin)/([C|M]K?[0-9]+)/([0-9]+)$'] = 'textbook/$matches[1]/index.php?cls=$matches[2]&ch=$matches[3]';
return $newrules + $rules;
}
// Adding the id var so that WP recognizes it
function mcs_insertTextbookQueryVars($vars) {
array_Push($vars, 'cls');
array_Push($vars, 'ch');
return $vars;
}
Je veux mapper http://localhost/wordpress/textbook/cantonese/CK1/6
à http://localhost/wordpress/textbook/cantonese/?cls=CK1&ch=6
Je vois un deuxième ?
dans vos variables de requête (avant la variable de requête cls
), probablement du fait de l’expérimentation avec la forme commentée, je pense que vous souhaitez utiliser &
ici.
Votre hook query_vars
ajoute actuellement la variable id
, mais vous utilisez cls
et ch
dans votre règle de réécriture, de sorte que cela n'aura aucun effet.
Si vous modifiez les règles de réécriture, je recommande mon plug-in d'analyse de réécriture (bientôt dans le référentiel, ), mais je reçois l'actuel version via Dropbox ), il vous aide à déboguer ces choses.