Lorsque vous tentez de transmettre une variable supplémentaire dans une URL WordPress, des problèmes peuvent survenir lorsque l'URL contient des informations supplémentaires après le domaine racine. Pour résoudre ce problème, utilisez l'approche suivante :
Au lieu d'interagir avec les superglobales, utilisez les fonctions WordPress suivantes :
Sur la page créant le lien :
Ajoutez la variable de requête au lien de retour à la page :
<a href="<?php echo esc_url(add_query_arg('c', $my_value_for_c)); ?>"></a>
Lien vers un autre page :
<a href="<?php echo esc_url(add_query_arg('c', $my_value_for_c, site_url('/some_other_page/'))); ?>"></a>
Dans votre fichier function.php ou plugin (front-end uniquement) :
function add_custom_query_var( $vars ) { $vars[] = "c"; return $vars; } add_filter( 'query_vars', 'add_custom_query_var' );
Sur la page récupérant et traitant la variable de requête :
$my_c = get_query_var('c');
Sur le back-end, la fonction wp() n'est pas exécutée, vous ne pouvez donc pas vous fier à la requête WP. Au lieu de cela, inspectez le superglobal $_GET :
$my_c = filter_input(INPUT_GET, "c", FILTER_SANITIZE_STRING);
En adhérant à ces recommandations, vous pouvez transmettre efficacement des variables supplémentaires dans les URL WordPress, à la fois sur le front-end et le back-end.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!