J'essaie simplement de stocker et de récupérer les données des clients non enregistrés d'une page à l'autre dans un modèle de paiement personnalisé. Je l'ai réduit à sa plus simple expression pour essayer de cerner le problème.
Le présent
<?php
$customer = WC()->customer;
$customer->set_billing_first_name("WORKING!!!");
$customer->save();
var_dump($customer->get_billing());
?>
Produit ceci
array (size=2)
'country' => string 'US' (length=2)
'first_name' => string 'WORKING!!!' (length=10)
Mais ensuite, cette
<?php
$customer = WC()->customer;
//$customer->set_billing_first_name("WORKING!!!");
//$customer->save();
var_dump($customer->get_billing());
?>
Produit ceci
array (size=1)
'country' => string 'US' (length=2)
Même si je devrais toujours être fermement dans la même session, et donc obtenir les données stockées avant les commentaires. Tout ce que j'ai fait, c'est rafraîchir la page après avoir commenté ces deux lignes.
Est-ce que je me trompe complètement sur ces méthodes ?
Vérifié
-
L'environnement est configuré de manière tout à fait correcte. J'ai même demandé à quelqu'un d'autre de le vérifier pour moi. URLs, caches, etc.
-
Il semble fonctionner lorsqu'on est connecté, mais la grande majorité des utilisateurs ne le sont jamais, ce qui n'est pas très utile.
-
J'ai essayé sur deux serveurs différents (un local, un distant) et j'ai rencontré le même problème.
-
Je suis reparti sur une nouvelle installation de WP+WC, j'ai créé un thème vierge, functions.php qui fait ce qui précède dans le code d'initialisation. Même problème.