Un article spécifique sur mon site Web a un shortcode qui utilise un paramètre appelé "requête" pour produire son contenu. Donc, voici un exemple d’URL de travail:
https://example.com/my-post?query=980
"my-post" est le lien permanent de la publication et la page utilise correctement le paramètre "query".
Cependant, nous devons changer cette URL en une adresse conviviale telle que https://example.com/something-here/980 , puis j'essayais de: utilisez le add_rewrite_rule
comme ceci:
function custom_add_rewrite_rules() {
add_rewrite_rule(
'^something-here/([\d]+)$',
'index.php?p=10219&query=$matches[1]',
'top'
);
}
add_action('init', 'custom_add_rewrite_rules');
Lorsque j'essaie d'accéder à l'URL conviviale, je suis redirigé vers https://example.com/my-post avec succès, mais le query param est null ($_GET["query"] = null
).
J'ai aussi essayé d'utiliser add_rewrite_tag
pour enregistrer "query", mais sans succès.
Si quelqu'un a de la lumière à faire, ce serait plus qu'apprécié.
On dirait que le plugin s'attend à ce qu'il y ait un paramètre get.
Votre règle de réécriture supprime le get-param avant qu'il puisse être utilisé par le plugin.
Si le plugin n'a pas été mis à jour depuis longtemps (c'est un abandonware), vous pouvez le parcourir et remplacer le get-param par la partie de l'URL qui aurait été le get-param. Veillez simplement à empêcher la mise à jour du plug-in une fois vos modifications apportées.
Si vous ajoutez ce qui suit
function custom_add_rewrite_rules() {
add_rewrite_tag('%query%','([^&]+)');
add_rewrite_rule(
'^something-here/([\d]+)$',
'index.php?p=10219&query=$matches[1]',
'top'
);
}
add_action('init', 'custom_add_rewrite_rules');
& puis remplacez $_GET['query']
&/ou $_REQUEST['query]
par get_query_var( 'query' )
dans le plug-in que vous avez décrit, cela devrait suffire à faire l'affaire.