Muitas vezes nos perguntam como os dados são tratados e armazenados/recuperados no MemberPress. O MemberPress conta com o banco de dados do WordPress para todo o armazenamento de dados. Usamos muitas das tabelas incorporadas do WordPress e também acrescentamos algumas tabelas adicionais.
Tabelas do WordPress
Usuários/Usermeta
O MemberPress depende totalmente da API do WordPress para criar, armazenar, gerenciar e autenticar usuários. Portanto, os membros são armazenados no típico arquivo usuários e usermeta tabelas. Isso também significa que um usuário MemberPress não precisa de uma segunda conta para fazer login em outros plug-ins que também dependem da API do WordPress para gerenciamento de usuários, como BuddyPress, bbPress, WooCommerce etc.
Os valores dos campos personalizados do MemberPress que seus membros preenchem ao se registrarem ou atualizarem as páginas de suas contas podem ser encontrados no usermeta table. Esses valores podem ser obtidos usando as chamadas padrão de usermeta do WordPress, como get_user_meta().
Posts/Postmeta
O MemberPress usa vários Custom Post Types para armazenar vários dados. Como usamos Custom Post Types, os dados desses objetos são armazenados no diretório WordPress postagens e postmeta tabelas. Usamos os seguintes tipos de post personalizados:
Associações - As associações são armazenadas como um tipo de post personalizado público (recursos de uma página por padrão). A chave do tipo de post personalizado é memberpressproduct
Grupos - Os grupos são armazenados como um tipo de post personalizado público (recursos de uma página por padrão). A chave do tipo de post personalizado é memberpressgroup
Regras - As regras são armazenadas como um tipo de post personalizado oculto (não público). A chave do tipo de post personalizado é regra de impressão para membros
Cupons - Os cupons são armazenados como um tipo de post personalizado oculto (não público). A chave do tipo de post personalizado é memberpresscoupon
Lembretes - Os lembretes são armazenados como um tipo de post personalizado oculto (não público). A chave do tipo de post personalizado é lembrete mp
Cursos - Os cursos do complemento Cursos do MemberPress
Lições - O complemento Lições dos cursos MemberPress
Arquivos - O complemento Arquivos do MemberPress Downloads
Opções
O MemberPress armazena a maioria de suas opções no diretório WordPress opções em uma linha com a tabela chave_de_opção de mepr_options. As opções são serializadas e armazenadas nessa linha. Várias outras opções e configurações também são armazenadas na tabela de opções. Suas chave_de_opção's começam com mepr_ ou mp_.
Nossos vários add-ons também podem armazenar algumas informações no usermeta ou opções mesas também.
A versão do banco de dados MemberPress também é armazenada na tabela de opções com um chave_de_opção de mepr_db_version.
Tabelas MemberPress adicionais
As tabelas MemberPress tentarão imitar o conjunto de caracteres e o agrupamento de suas tabelas regulares do WordPress. Isso é mais comum em utf8mb4_general_ci ou utf8mb4_unicode_ci.
Dados de pagamento
O MemberPress se baseia em tokens ou IDs de pagamento seguros ao criar e gerenciar assinaturas. Nenhum cartão de crédito ou outros dados de pagamento são armazenados em seu banco de dados do WordPress, com exceção do últimos 4 dígitos e data de vencimento para que lembretes possam ser acionados quando os cartões de crédito estiverem expirando em assinaturas automaticamente recorrentes. Todos os outros dados de pagamento significativos são armazenados com segurança no nível do gateway (Stripe, PayPal etc.).
Assinaturas
O mepr_subscriptions é onde armazenamos os objetos para Assinaturas Automaticamente Recorrentes. Esses objetos são essencialmente contêineres para gerenciar pagamentos automaticamente recorrentes e associar as transações que pertencem a essa assinatura.
Transações
O mepr_transactions é usada para armazenar todos os pagamentos de um usuário (gratuitos ou pagos). O MemberPress usa as Transações para determinar se um usuário tem acesso a uma Associação e por quanto tempo. Ele faz isso observando a data de expiração da transação e se o status está completo ou confirmado.
Uma transação com uma data expires_at de NULO ou "0000-00-00 00:00:00" é considerado como Nunca expirar.
Os pagamentos únicos e recorrentes automáticos são armazenados na tabela Transactions (Transações). Se a transação tiver um subscription_id, ela será considerada parte de uma assinatura automaticamente recorrente.
As transações do tipo "subscription_confirmation" com status "confirmed" ficam ocultas na interface do usuário e são usadas como forma de fornecer períodos de avaliação gratuitos e o período de carência de 24 horas em uma inscrição de assinatura recorrente.
Membros
O mepr_members A tabela é puramente para fins de velocidade/conveniência em algumas das consultas do MemberPress. Sempre que um membro aciona algum evento, como inscrição, reembolso, cancelamento de assinatura, pagamento de renovação etc., certas informações sobre esse membro são calculadas nessa tabela. Certas informações sobre esse membro são calculadas e armazenadas nessa tabela. Todas essas informações podem ser coletadas inspecionando as tabelas users, usermeta, mepr_subscriptions e mepr_transactions, mas também as consolidamos nessa tabela para ajudar em algumas das consultas MemberPress e exportações CSV.
Eventos
O mepr_events é usada para armazenar um registro de eventos ocorridos. Por exemplo, o login de um usuário, novas inscrições, pagamentos de renovação, notificações de lembrete etc. Essa tabela pode crescer bastante com o tempo, portanto, não há problema em cortar eventos que tenham pelo menos um ano. Não recomendamos cortar eventos que não tenham pelo menos um ano, especialmente se você depender de vários lembretes que abrangem grandes períodos de tempo.
Empregos
O mepr_jobs A tabela é usada para armazenar trabalhos em segundo plano (via WP Cron) que precisam ser concluídos, como o envio de e-mails em segundo plano. O MemberPress tem utilitários que os desenvolvedores podem usar para agendar seus próprios trabalhos em segundo plano, se necessário. Por exemplo, talvez você queira integrar um novo gateway de pagamento, mas ele não oferece suporte a pagamentos recorrentes automáticos, portanto, você precisa de trabalhos em segundo plano para garantir que os pagamentos ocorram manualmente dentro do cronograma.
Condições de acesso à regra
Embora as regras sejam armazenadas como Custom Post Types, o mepr_rule_access_conditions é usada para armazenar quais associações ou membros têm acesso ao conteúdo que as Regras estão protegendo.
Complementos
O add-on Corporate Accounts adiciona um mepr_corporate_accounts para associar contas principais a suas subcontas.
O complemento MemberPress Courses adiciona wp_mpcs_sections e wp_mpcs_user_progress mesas.
O complemento MemberPress PDF Invoices adiciona wp_mpdf_credit_notes e wp_mpdf_invoice_numbers mesas.
O complemento MemberPress Downloads adiciona wp_mpdl_file_downloads e wp_mpdl_file_stats mesas.