On nous demande souvent comment les données sont traitées et stockées/récupérées dans MemberPress. MemberPress s'appuie sur la base de données WordPress pour le stockage de toutes ses données. Nous utilisons la plupart des tables intégrées de WordPress, et nous ajoutons également quelques tables supplémentaires.
Tables WordPress
Utilisateurs/Usermeta
MemberPress s'appuie entièrement sur l'API WordPress pour créer, stocker, gérer et authentifier les utilisateurs. Par conséquent, les membres sont stockés dans l'espace de stockage typique de WordPress utilisateurs et usermeta tables. Cela signifie également qu'un utilisateur MemberPress devrait pas vous avez besoin d'un deuxième compte pour vous connecter à d'autres plugins qui s'appuient également sur l'API WordPress pour la gestion des utilisateurs, tels que BuddyPress, bbPress, WooCommerce, etc.
Les valeurs des champs personnalisés MemberPress que vos membres remplissent lorsqu'ils s'inscrivent ou mettent à jour leurs pages de compte peuvent être trouvées dans le champ usermeta table. Ces valeurs peuvent être récupérées en utilisant les appels usermeta standards de WordPress comme get_user_meta().
Posts/Postmeta
MemberPress utilise plusieurs Custom Post Types pour stocker diverses données. Comme nous utilisons des Custom Post Types, les données de ces objets sont stockées dans la base de données WordPress postes et postmeta tables. Nous utilisons les Custom Post Types suivants :
Adhésions - Les adhésions sont stockées sous la forme d'un type de message personnalisé public (capacités d'une page par défaut). La clé du type de message personnalisé est produit memberpress
Groupes - Les groupes sont stockés sous la forme d'un type de message public personnalisé (capacités d'une page par défaut). La clé du type de message personnalisé est memberpressgroup
Règles - Les règles sont stockées dans un type d'article personnalisé caché (non public). La clé du type de post personnalisé est règle de la presse des membres
Coupons - Les coupons sont stockés dans un type d'article personnalisé caché (non public). La clé du type de message personnalisé est memberpresscoupon
Rappels - Les rappels sont stockés dans un type d'article personnalisé caché (non public). La clé du type de message personnalisé est mp-rappel
Cours - Les cours du module complémentaire de cours MemberPress
Leçons - Le module complémentaire "Leçons des cours MemberPress
Dossiers - Le module complémentaire de téléchargement des fichiers de MemberPress
Options
MemberPress stocke la plupart de ses options dans la base de données WordPress options dans une ligne avec le tableau clé_option de mepr_options. Les options sont sérialisées et stockées dans cette ligne. Diverses autres options et paramètres sont également stockés dans le tableau des options. Leur clé_optionLe début de l'année est marqué par l'arrivée de mepr_ ou mp_.
Nos différents modules complémentaires peuvent également stocker certaines informations dans le fichier usermeta ou options Les tables sont également utilisées.
La version de la base de données MemberPress est également stockée dans la table des options avec une valeur de clé_option de mepr_db_version.
Tables supplémentaires MemberPress
Les tables MemberPress essaieront d'imiter le jeu de caractères et la collation de vos tables WordPress ordinaires. Il s'agit le plus souvent de utf8mb4_general_ci ou utf8mb4_unicode_ci.
Données de paiement
MemberPress s'appuie sur des jetons de paiement sécurisés ou des identifiants lors de la création et de la gestion des abonnements. Aucune carte de crédit ou autre donnée de paiement n'est stockée dans votre base de données WordPress, à l'exception de l'identifiant de la carte de crédit et de l'identifiant de la carte de crédit. 4 derniers chiffres et date d'expiration Ainsi, des rappels peuvent être déclenchés lorsque les cartes de crédit arrivent à expiration dans le cadre d'abonnements récurrents. Toutes les autres données de paiement significatives sont stockées en toute sécurité au niveau de la passerelle (Stripe, PayPal, etc.).
Abonnements
Les mepr_subscriptions est l'endroit où nous stockons les objets pour les abonnements récurrents automatiques. Ces objets sont essentiellement des conteneurs permettant de gérer les paiements récurrents automatiques et d'associer les transactions qui appartiennent à cet abonnement.
Transactions
Les mepr_transactions est utilisée pour stocker tous les paiements d'un utilisateur (gratuits ou payants). MemberPress utilise les transactions pour déterminer si un utilisateur a accès à une adhésion et pour quelle durée. Pour ce faire, il examine la date d'expiration de la transaction et vérifie si son statut est complet ou confirmé.
Une transaction avec une date d'expiration (expires_at) de NULL ou '0000-00-00 00:00:00' est considéré comme n'expirant jamais.
Les paiements uniques et les paiements récurrents automatiques sont stockés dans le tableau Transactions. Si la transaction possède un identifiant d'abonnement, elle est considérée comme faisant partie d'un abonnement récurrent automatique.
Les transactions de type "subscription_confirmation" avec un statut "confirmé" sont cachées dans l'interface utilisateur et sont utilisées pour proposer des périodes d'essai gratuites et un délai de grâce de 24 heures lors de l'inscription à un abonnement récurrent.
Les membres
Les mepr_members Le tableau est purement destiné à accélérer le traitement de certaines requêtes de MemberPress. Chaque fois qu'un membre déclenche un événement, comme l'inscription, le remboursement, l'annulation d'un abonnement, le paiement d'un renouvellement, etc. Certaines informations concernant ce membre sont calculées et stockées dans cette table. Toutes ces informations peuvent être recueillies en inspectant les tables users, usermeta, mepr_subscriptions et mepr_transactions, mais nous les consolidons également dans cette table pour faciliter les requêtes MemberPress et les exportations CSV.
Evénements
Les mepr_events est utilisée pour stocker un journal des événements qui se sont produits. Par exemple, la connexion d'un utilisateur, les nouvelles inscriptions, les paiements de renouvellement, les notifications de rappel, etc. Ce tableau peut devenir très volumineux au fil du temps, il est donc conseillé de supprimer les événements qui datent d'au moins un an. Nous ne recommandons pas d'éliminer les événements qui ne datent pas d'au moins un an, en particulier si vous utilisez un certain nombre de rappels qui s'étendent sur de longues périodes.
Emplois
Les mepr_jobs est utilisée pour stocker les tâches d'arrière-plan (via WP Cron) qui doivent être effectuées, comme l'envoi d'emails en arrière-plan. MemberPress a des utilitaires que les développeurs peuvent utiliser pour programmer leurs propres tâches d'arrière-plan si nécessaire. Par exemple, vous voulez peut-être intégrer une nouvelle passerelle de paiement, mais elle ne supporte pas les paiements auto-récurrents, donc vous avez besoin de tâches d'arrière-plan pour vous assurer que les paiements sont effectués manuellement à la date prévue.
Règle Conditions d'accès
Bien que les règles soient stockées en tant que types d'articles personnalisés, le mepr_rule_access_conditions est utilisée pour enregistrer les membres qui ont accès au contenu que les règles protègent.
Compléments
Le module complémentaire Comptes d'entreprise ajoute un mepr_corporate_accounts pour associer les comptes parents à leurs sous-comptes.
MemberPress Le complément de cours ajoute wp_mpcs_sections et wp_mpcs_user_progress tables.
Le module complémentaire MemberPress PDF Invoices ajoute wp_mpdf_credit_notes et wp_mpdf_invoice_numbers tables.
Le module complémentaire de téléchargement MemberPress ajoute wp_mpdl_file_downloads et wp_mpdl_file_stats tables.