Maison  >  Article  >  développement back-end  >  Comment transmettre des variables supplémentaires dans les URL WordPress ?

Comment transmettre des variables supplémentaires dans les URL WordPress ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-12 08:03:01908parcourir

How to Pass Extra Variables in WordPress URLs?

Transmission de variables supplémentaires dans les URL WordPress

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 :

1. Utilisation des fonctions WordPress

Au lieu d'interagir avec les superglobales, utilisez les fonctions WordPress suivantes :

  • add_query_arg() : crée une URL avec l'URL personnalisée requête variable.
  • query_vars : modifie les variables de requête reconnues par WordPress (applicable uniquement sur le front-end).
  • get_query_var() : récupère la valeur de la variable de requête personnalisée.

2. Exemple de mise en œuvre

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');

3. Considérations sur le back-end

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn