J'ai déjà suivi le tutoriel ici: http://www.rlmseo.com/blog/passing-get-query-string-parameters-in-wordpress-url/ Mais ça ne marche toujours pas.
Dans le function.php, mon code est
//decode wordpress url to jquery string
function add_query_vars($aVars) {
$aVars[] = "lastName";
return $aVars;
}
// hook add_query_vars function into query_vars
add_filter('query_vars', 'add_query_vars');
function add_rewrite_rules($aRules) {
$aNewRules = array('^physician-profile/([^/]*)/?' => 'physician-profile?lastName=$matches[1]');
$aRules = $aNewRules + $aRules;
return $aRules;
}
// hook add_rewrite_rules function into rewrite_rules_array
add_filter('rewrite_rules_array', 'add_rewrite_rules');
Je voudrais mon lien de
physician-profile?lastName=Rae-Lee
à
physician-profile/Rae-Lee.
Dans la page de profil du médecin, mon code est: mais je ne sais pas pourquoi je le mets ici. Il semble que juste renvoyer la valeur de lastName.
if(isset($wp_query->query_vars['lastName'])) {
$lastNameS=(urldecode($wp_query->query_vars['lastName']));
Dans la page principale, j'ai lié le lien médecin en tant que
physician-profile/Rae-Lee,
mais cela continue à aller à la page d'accueil. Quand j'ai essayé de changer le lien comme
physician-profile?lastName=Rae-Lee,
il va directement à cette page, mais l'URL ne change pas. En tant que débutant wordpress, pourriez-vous indiquer quelle partie de mon erreur je me suis trompée? Ou ai-je besoin d'autres codes? Merci de votre aide!
Le didacticiel est obsolète et il semble qu'il ait manqué d'éliminer les règles.
function add_rewrite_rule_and_tag() {
global $wp_rewrite;
add_rewrite_rule( '^physician-profile/([^/]*)/?', 'physician-profile?lastName=$matches[1]', 'top' );
add_rewrite_tag( '%lastName%','([^&]+)' );
if ( ! isset( $wp_rewrite->rules['^physician-profile/([^/]*)/?'] ) )
$wp_rewrite->flush_rules();
return;
}
add_action( 'init', 'add_rewrite_rule_and_tag', 99 );
Vous pouvez accéder à la requête var `lastName´ avec
gloabl $wp_query;
$lastName = $wp_query->query_vars['lastName'];