J'ai un formulaire avec des cases à cocher et des boîtes de sélection et il montre ce que l'utilisateur veut via un appel ajax. Le problème est que lorsque l'utilisateur clique sur l'élément et que la page de détail s'affiche, puis décide de revenir à la page précédente, il doit cliquer et sélectionner à nouveau son choix précédent.
Je voudrais que WP enregistre toutes les options dans la session lorsque vous cliquez sur le bouton de la page de détails et enregistre les informations réelles dans la session, puis lorsqu'il reviendra sur la page, les valeurs seront vérifiées dans les sessions et définies le cas échéant. a trouvé.
Cela pourrait-il être fait dans WP?
Si oui, comment?
Simplifions cela et disons que nous avons quelque chose comme ça dans notre forme:
<input class="car_color" type="checkbox" name="car_color" value="1" />
<input class="car_color" type="checkbox" name="car_color" value="2" />
<input class="car_color" type="checkbox" name="car_color" value="8" />
<input class="car_color" type="checkbox" name="car_color" value="4" />
<input class="car_color" type="checkbox" name="car_color" value="6" />
Je n'utilise pas le bouton soumettre dans mon formulaire, il est géré via AJAX lors du changement d'entrée.
Et dans mes résultats obtenir via ajax j'ai un lien vers la page de détail:
<a class="detail-info-link" href="<?php echo $url ?>">
Une idée comment puis-je stocker mes valeurs dans Session et les appeler lorsque je revisite / recharge / recule dans le navigateur?
J'ai besoin de pouvoir lire le contenu stocké de la session et l'utiliser via? Javascript? et déclencher ma recherche via ajax qui fonctionne déjà bien.
J'ai juste besoin de stocker (probablement avant d'aller sur $ link dans le bouton href of by detail et de lire et envoyer des variables de session (si elles existent).
Réponses:
Les sessions ne sont pas activées dans wordpress par défaut, si vous souhaitez activer les sessions php, ajoutez ceci au début de votre
functions.php
:Vous pouvez maintenant utiliser
$_SESSION['your-var'] = 'your-value';
pour définir une variable de session. Jetez un œil à la documentation PHP sur les sessions .Mise à jour:
Il y avait une deuxième réponse, qui, à mon avis, avait aussi une valeur - malheureusement, elle a été supprimée, je rajoute les informations ici. La réponse faisait référence à WP Session Manager, un plugin écrit par @eamann comme solution alternative.
J'ai lu certaines choses sur le plugin, mais je ne l'ai jamais utilisé parce que - jusqu'à présent - je m'en tiens aux sessions PHP - je n'ai jamais eu le problème de ne pas pouvoir les utiliser. Ceci est une déclaration / commentaire de l'auteur du plugin lui-même que j'ai trouvé sur certains avantages possibles.
la source
ajoutez ceci à dans votre functions.php
la source
Je vais vous expliquer comment définir une session de nom d'utilisateur avec le plugin Native PHP Sessions pour WordPress . Vous pouvez appliquer cette logique à votre problème.
Ajoutez ceci à votre fichier functions.php
$ _POST ['log'] fait référence à la zone de saisie du nom d'utilisateur à partir du formulaire de connexion wordpress. Lorsqu'un utilisateur se connecte, le nom d'utilisateur est stocké dans $ _SESSION ['nom d'utilisateur']. Dans votre cas, vous devez remplacer «log» par les noms de variables de formulaire que vous avez «car_color».
Référencez le nom d'utilisateur plus tard dans un autre fichier php en
la source
Peut-être qu'il n'y a pas de sessions habituelles dans Wordpress ... de toute façon, Wordpress connaît le concept des utilisateurs. Vous pouvez gérer les informations relatives à des utilisateurs spécifiques aux fonctions
add_user_meta
,update_user_meta
,get_user_meta
, etdelete_user_meta
.Si vous avez besoin des informations enregistrées de cette manière en JavaScript, vous pouvez écrire un petit script PHP qui vomit ce dont vous avez besoin et l'appeler avec Ajax.
la source
Sur la page PHP qui reçoit la demande AJAX, définissez $ _SESSION comme ceci.
Accéder à la variable $ _SESSION
Ce didacticiel aborde plus en détail la configuration et l'élimination correctes des sessions.
la source