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

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

Linda Hamilton
Libérer: 2024-11-11 06:23:02
original
600 Les gens l'ont consulté

How do I Pass Extra Variables in WordPress URLs?

Passer des variables supplémentaires dans les URL WordPress

Dans WordPress, vous pouvez rencontrer des difficultés à transmettre des variables supplémentaires via les URL. Par exemple, essayer d'ajouter "&c=123" à "/news" peut fonctionner uniquement pour l'URL racine (www.example.com?c=123) mais échouer si l'URL contient des informations supplémentaires (www.example.com/news ?c=123).

Pour résoudre ce problème, WordPress fournit trois fonctions essentielles :

  • add_query_arg() : Crée des URL avec de nouvelles variables de requête.
  • query_vars filter : Modifie les variables de requête connues publiquement de WordPress.
  • get_query_var() : Récupère la valeur des variables de requête personnalisées dans les URL.

Exemple :

. Sur la page où vous créez le lien ou définissez la variable de requête :

  • Pour ajouter une variable de requête à un lien vers la page actuelle :
<a href="<?php echo esc_url(add_query_arg('c', $my_value_for_c)); ?>">
Copier après la connexion
  • Pour ajouter une variable de requête à 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/'))); ?>">
Copier après la connexion

. Dans Functions.php ou un fichier plugin :

function add_custom_query_var($vars) {
    $vars[] = "c";
    return $vars;
}
add_filter('query_vars', 'add_custom_query_var');
Copier après la connexion

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

$my_c = get_query_var('c');
Copier après la connexion

Sur le Back End (wp-admin)

Lors de l'accès au backend (wp-admin), la requête WP principale n'est pas exécutée et les variables de requête ne sont donc pas disponibles. Au lieu de cela, vous devez utiliser l'approche suivante :

$my_c = filter_input(INPUT_GET, "c", FILTER_SANITIZE_STRING);
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal