productos plugin personalizar para for español customizer correos php wordpress mailchimp woocommerce

php - plugin - ¿Cómo agrego información de facturación del cliente a un grupo de MailChimp cuando hacen una compra usando WooCommerce?



woocommerce español (1)

Hay un complemento para esto ahora: eche un vistazo a WooChimp - MailChimp WooCommerce Integration . Hay personas aquí que no conocen PHP tan bien, así que pensé que esto podría ser útil.

Descripción completa: soy el autor del complemento.

He buscado alto y bajo para resolver esto, pero sin suerte. Creo que me falta algo bastante básico, ya que la solución suena bastante directa.

Estoy intentando agregar detalles de facturación del cliente a un Grupo MailChimp.

Es para un sitio que vende cursos en línea.

Lo que me gustaría que ocurra es: el usuario realiza la compra en el sitio y se registra automáticamente para un grupo de MailChimp apropiado en función de su compra (es decir, el curso mensual de compras de usuarios se agrega al ''grupo de videos mensuales'' del grupo MailChimp).

Ya tengo un código escrito, pero no funciona (obtengo un error de ''variable indefinida''). No estoy seguro de si las variables / sintaxis son correctas. De ninguna manera soy un codificador.

¿Podría alguien ayudarme?

Aquí está el código que tengo (que puse en functions.php):

function pass_wp_to_mc() { require_once ''inc/MCAPI.class.php''; require_once ''inc/config.inc.php''; //contains apikey require_once ''wp-content/plugins/woocommerce/classes/class-wc-checkout.php''; $api = new MCAPI($apikey); // Grabs the WooCommerce Product IDs and associates them with the Mailchimp Group IDs - users are put into Groups based on product purchase. if ($product_id == 42) { $mailchimpGroupingId = 1; $mailchimpGroup = ''Monthly''; } elseif ($product_id == 142) { $mailchimpGroupingId = 1; $mailchimpGroup = ''Weekly''; } else ($product_id == 144); $mailchimpGroupingId = 1; $mailchimpGroup = ''Audio''; } $merge_vars = array( ''FNAME'' => $billing_first_name, ''LNAME''=> $billing_last_name, ''EMAIL''=> $billing_email, ''GROUPINGS''=>array( array(''id''=>$mailchimpGroupingId, ''groups''=>$mailchimpGroup), ) ); $listId = 33833; //List ID found inside MailChimp on the page for your List $my_email = ''$email''; $double_optin = false; // People are automatically added in to List $update_existing = true; // Will update users if they are already on the list $retval = $api->listSubscribe( $listId, $my_email, $merge_vars, $double_optin, $update_existing); if ($api->errorCode){ echo "Unable to load listSubscribe()!/n"; echo "/tCode=".$api->errorCode."/n"; echo "/tMsg=".$api->errorMessage."/n"; } else { echo "Subscribed - look for the confirmation email!/n"; }

Mis preguntas son: ¿este código es correcto? Si es así, ¿es functions.php el lugar indicado? Si es así, ¿cómo lo ''llamo'' y dónde pondré la llamada - archivo de WordPress? WooCommerce? thankyou.php? checkout.php? cart.php?

Cualquier ayuda es muy apreciada. ¡He estado tratando de arreglar esto por semanas!

ACTUALIZACIÓN : ¡Lo descubrí! en primer lugar, el código era incorrecto. Aquí está lo que funcionó:

require_once dirname(__FILE__).''/inc/MCAPI.class.php''; require_once dirname(__FILE__).''/inc/config.inc.php''; add_action(''woocommerce_checkout_order_processed'', ''get_info''); function get_info($order_id) { global $woocommerce; $order = new WC_Order( $order_id ); $firstname = $order->billing_first_name; $lastname = $order->billing_last_name; $email = $order->billing_email; $product_id=unserialize($order->order_custom_fields["_order_items"][0]); $product_id=$product_id[0][''id'']; global $apikey; $api = new MCAPI($apikey); if ($product_id == *GET THIS ID AT THE EDITING SCREEN OF YOUR PARTICULAR WOOCOMMERCE PRODUCT*) { $mailchimpGroup = ''*ENTER THE NAME OF YOUR MAILCHIMP GROUP (NOT THE TITLE)*''; } elseif ($product_id == *GET THIS ID AT THE EDITING SCREEN OF YOUR PARTICULAR WOOCOMMERCE PRODUCT*) { $mailchimpGroup = ''*ENTER THE NAME OF YOUR MAILCHIMP GROUP (NOT THE TITLE)*''; } else ($product_id == *GET THIS ID AT THE EDITING SCREEN OF YOUR PARTICULAR WOOCOMMERCE PRODUCT*); $mailchimpGroup = ''*ENTER THE *NAME* OF YOUR MAILCHIMP GROUP (NOT THE TITLE)*''; $merge_vars = array( ''FNAME'' => $firstname, ''LNAME''=> $lastname, //''EMAIL''=> $email, ''GROUPINGS''=>array( array(''name''=>''*ENTER THE TITLE OF YOUR MAICHIMP GROUP (NOT THE NAME)'', ''groups''=>$mailchimpGroup), ) ); $listId = ''YOUR LIST ID HERE''; //List ID found inside MailChimp on the page for your List $my_email = $email; $double_optin = false; // People are automatically added in to List $update_existing = true; // Will update users if they are already on the list $retval = $api->listSubscribe( $listId, $my_email, $merge_vars, $double_optin, $update_existing);