Note : Depuis Easy Digital Downloads v3.3.0, il existe un réglage pour désactiver les sessions PHP (Sessions de base de données). Voir Gestion des sessions ici pour plus de détails.
Par défaut, EDD choisit les sessions PHP car elles sont généralement plus performantes que la gestion des sessions basée sur la base de données, et aident à éviter les problèmes avec certains plugins de mise en cache d'objets et leurs lacunes avec les types d'options transitoires.
Dans certains cas, les serveurs / l'hébergement peuvent ne pas prendre en charge les sessions PHP, ce qui peut entraîner un dysfonctionnement d'EDD. Si tel est le cas, vous devrez remplacer le comportement par défaut en définissant EDD PHP Sessions sur false. Tout cela fait est de dire à EDD d'utiliser une méthode différente pour suivre un utilisateur sur le site.
Panier vide
La page de paiement signalant un panier vide alors qu'un article devrait être ajouté est un symptôme courant de sessions PHP non prises en charge par le serveur. Veuillez consulter Le panier est vide lors du paiement avant de désactiver les sessions, car il existe d'autres raisons à cela.
Si vous devez modifier ce comportement par défaut :
Placez cette constante dans votre fichier wp-config.php pour désactiver les sessions PHP EDD :
define( 'EDD_USE_PHP_SESSIONS', false );
Si vous devez réactiver les sessions PHP EDD, supprimez la ligne ci-dessus ou définissez-la sur
define( 'EDD_USE_PHP_SESSIONS', true );
Si vous ne savez pas comment modifier votre fichier wp-config.php, veuillez consulter la page d'aide officielle de WordPress sur la modification du fichier.
Remarque : vous devez placer ce code au-dessus de la ligne qui dit :
/* That's all, stop editing! Happy blogging. */
Il est sûr de laisser la constante dans wp-config.php indéfiniment.
Comment fonctionnent les sessions PHP EDD ?
Si cette constante est définie, Easy Digital Downloads utilisera les $_SESSION PHP pour stocker les données du panier. Par défaut, lorsque la constante EDD_USE_PHP_SESSIONS n'est pas définie, EDD vérifiera si le serveur prend en charge les sessions basées sur PHP et choisira la gestion des sessions PHP pour la suite. Si la fonction session_start n'est pas prise en charge, EDD se rabattra sur la classe WP_Session, qui est une combinaison de cookies de navigateur et de lignes de base de données stockées dans la table wp_options.
