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

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

Linda Hamilton
Linda Hamiltonoriginal
2024-11-10 17:08:03647parcourir

How to Pass Additional Variables in URLs with WordPress?

Transmission de variables supplémentaires dans les URL avec WordPress

WordPress fournit un moyen robuste de transmettre des variables supplémentaires dans les URL, permettant un contenu et des fonctionnalités dynamiques. Cependant, certains problèmes peuvent survenir lorsque vous tentez d'inclure des variables dans des URL contenant plus que la racine du site Web.

Solution utilisant les fonctions WordPress

Pour résoudre ce problème de manière transparente transmettez les variables dans les URL, utilisez les trois fonctions WordPress suivantes :

  1. add_query_arg() : génère l'URL avec la nouvelle variable de requête.
  2. query_vars filter : Modifie la liste des variables de requête accessibles au public et reconnues par WordPress (applicable uniquement sur le "front-end" de votre site Web).
  3. get_query_var() : Récupère la valeur de votre variable de requête personnalisée à partir de l'URL.

Exemple

Sur la page où vous devez créer le lien :

  • S'il s'agit d'un lien vers la page actuelle (ajout d'une variable de requête) :
<a href="<?php echo esc_url( add_query_arg( 'c', $my_value_for_c ) )?>"></a>
  • S'il s'agit d'un lien vers une 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 (exécuté uniquement sur le front-end) :

function add_custom_query_var( $vars ){
  $vars[] = "c";
  return $vars;
}
add_filter( 'query_vars', 'add_custom_query_var' );

Sur la page où vous souhaitez récupérer la variable de requête :

$my_c = get_query_var( 'c' );

Back-End (wp-admin)

L'accès aux variables de requête dans wp-admin nécessite une approche différente puisque la requête WordPress n'est pas exécutée dans ce contexte . Au lieu de cela, examinez le superglobal $_GET en utilisant :

$my_c = filter_input( INPUT_GET, "c", FILTER_SANITIZE_STRING );

En employant ces méthodes, vous pouvez facilement transmettre des variables supplémentaires dans les URL WordPress et y accéder à la fois sur le front-end et le back-end de votre site Web.

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