J'ai un peu de mal avec wordpress, j'espère que vous pourrez m'aider :)
J'ai une sous-page que je peux appeler avec différents paramètres:
Je veux créer des URLs propres et supprimer le nom de la sous-page
Pour ce faire, j'ai essayé cette add_rewrite_rule:
function add_directory_rewrite() {
add_rewrite_tag("%symbol%", '([a-zA-Z0-9_]+)');
add_rewrite_rule('^crypto-monnaies/([a-zA-Z0-9_]+).html', '/crypto-monnaies/showcoin/?symbol=$matches[1]', 'top');
}
add_action( 'init', 'add_directory_rewrite' );
Le problème est que lorsque j'appelle l'URL réécrite, elle me redirige vers https://www.cryptolia.fr/crypto-monnaies/showcoin/ sans le paramètre
donc, premièrement, il ne devrait pas s'agir d'une redirection 301, et deuxièmement: il devrait porter le paramètre pour que je puisse le récupérer en PHP.
merci pour votre aide les gars :)
merci pour votre réponse,
Donc, après avoir beaucoup creusé, ça marche:
function myplugin_rewrite_tag_rule() {
add_rewrite_tag( '%symbol%', '([a-zA-Z0-9_]+)' );
add_rewrite_rule( '^crypto-monnaies/([a-zA-Z0-9_]+)/?$', 'index.php?
pagename=showcoin&symbol=$matches[1]','top' );
}
add_action('init', 'myplugin_rewrite_tag_rule');
function add_query_vars( $query_vars ) {
$query_vars[] = 'symbol';
return $query_vars;
}
add_filter( 'query_vars', 'add_query_vars' );
Veuillez noter que si votre page dynamique est une page de second niveau, vous devez appeler le? Pagename = page-parent/page-enfant (avec la barre oblique).
Pour résoudre mon problème, j'ai placé la page "showcoin" au premier niveau.