Angel Cruz

nano /var/log/wordpress.log

Coding, life & stuff.

Ya como saben, Mailchimp es un proveedor de servicios de marketing por correo electrónico y el nombre de la empresa que lo opera, fundada en el año 2001 y en este artículo te voy a mostrar una forma sencilla de procesar suscripciones a tu lista de correos desde wordpress.

Bueno, básicamente vamos a necesitar:

  • Un formulario html que solo va a tener un input y un botón, algo así:
<form action="<?php _e(site_url('/process-mailchimp')) ?>" method="POST">
    <input type="email" name="email">
    <button type="submit">Suscribirme</button>
</form>
  • Un archivo php que va a contener lo siguiente
<?php
/**
 * Template Name: Process Mailchimp
 */

// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;


if ( ! empty( $_POST ) ) {

	$email = sanitize_email($_POST['email']);

	$listId = '4c0d2XXXX1';
	$apiKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXX-us7';

	$url = 'https://us7.api.mailchimp.com/3.0/lists/'. $listId .'/members';

	$json = json_encode([
		'email_address' => $email,
		'status'        => 'subscribed', //pass 'subscribed' or 'pending'
	]);

	$args = [
        'headers'   =>  [
            'content-type'  => 'application/json',
            'accept'        => 'application/json',
			'cache-control' => 'no-cache',
			'Authorization' => 'apikey ' . $apiKey
        ],
        'body' => $json
    ];

	$mailchimpResponse = wp_remote_post($url, $args);

	// wp_redirect(site_url('/thank-you/'));

} else {
    wp_redirect('https://google.com');
}
  • Una página donde mostrarle al usuario que su suscripción fue procesada y eso sería algo más o menos así:
<?php
/**
 * Template Name: Blank Page Template
 */

// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
	<meta charset="<?php bloginfo( 'charset' ); ?>">
	<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="profile" href="http://gmpg.org/xfn/11">
	<?php wp_head(); ?>
</head>
<body>
	<h1>Su suscripciónn fue procesada correctamente</h1>
</body>
</html>

Cosas para tener en cuenta:

  • tienes que crear una página que sirva como ruta para la acción del formulario usando la plantilla que puse arriba
  • cambia la redirección a la página de agradecimiento usando el slug correspondiente

Link to, or bookmark, here using this permalink.

Angel's avatar
Watagatapitusberry... !!