Questo plugin ti permette di sincronizzare WooCommerce Memberships con i gruppi di Discourse.
Prerequisiti
Affinché funzioni, devi avere DiscourseConnect abilitato, con WordPress o Discourse come provider di DiscourseConnect.
Passaggi
-
Installa questo plugin WordPress GitHub - paviliondev/discourse-woocommerce · GitHub.
-
Usa l’editor dei temi di WordPress per aggiornare questi numeri con l’
plan_iddi WooCommerce e l’ide ilgroup_namedel gruppo di Discourse che desideri sincronizzare:$member_group_map[] = (object) array('plan_id' => 51, 'group_id' => 43, 'group_name' => 'group1'); $member_group_map[] = (object) array('plan_id' => 62, 'group_id' => 44, 'group_name' => 'group2');Puoi aggiungere tante voci quante ne desideri (o rimuoverne di esistenti).
-
Gli ID dei piani di membership di WooCommerce si trovano nell’URL mentre modifichi il piano in WordPress: https://site/wp-admin/post.php?post=441&action=edit
-
L’ID del gruppo di Discourse si trova qui: Login | HSTS Redirection Community
-
Passo opzionale
- Installa WP Crontrol – Plugin WordPress | WordPress.org e programma
run_full_wc_membership_syncper eseguire ogni 24 ore. Questo eseguirà una sincronizzazione completa per garantire la coerenza.
Note tecniche
L’unico modo affidabile per catturare sia la creazione della membership che le modifiche allo stato in WooCommerce è utilizzare il hook amministrativo wc_memberships_user_membership_saved. Puoi usarlo in combinazione con il hook wc_memberships_user_membership_status_changed, ma non dovrebbe essere necessario.
Questo codice utilizza il logger di WooCommerce per registrare le informazioni in /wp-content/uploads/wc-logs/{log_file}. Se non funziona, controlla l’output lì. Vedrai log simili a questo, che mostrano le fasi della logica:
2019-05-23T07:01:57+00:00 INFO Running handle_wc_membership_saved 1, 92, 1
2019-05-23T07:01:57+00:00 INFO angus@email.com membership of VIP Membership changed to wcm-active
2019-05-23T07:01:57+00:00 INFO Sending PUT request to http://localhost:3000/groups/41/members with angus@email.com
2019-05-23T07:01:57+00:00 INFO Response from Discourse: 200 OK
Note sull’uso
La sincronizzazione non funzionerà se fai clic su “Elimina membership utente” nel pannello di amministrazione di WordPress. Non esiste un hook in WooCommerce che si attivi quando questo viene cliccato. Modifica invece lo stato della membership.



