nano /var/log/random.log

Coding, life & stuff.
#WordPress

Cómo usar de forma sencilla mailchimp en wordpress.


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

Articulos relacionados

#Laravel

Como integrar webmentions usando laravel.

Similar al pingback, Webmention es uno de los cuatro tipos de enlaces de retorno, pero fue diseñado para ser más simple que el protocolo XML-RPC en el que se basa el pingback, y en su lugar solo usa contenido HTTP y x-www-urlencoded. Más allá de los protocolos de enlace de retorno anteriores, Webmention también especifica los detalles del protocolo para cuando una página que es la fuente de un enlace se elimina, se actualiza con nuevos enlaces o se eliminan los enlaces existentes.