Skip to content
jprieton edited this page Nov 30, 2015 · 4 revisions

El formulario de suscripción se envía a usando ajax a http://tusitio.com/wp-admin/admin-ajax.php, el formulario de contacto será enviado al correo definido en las opciones del plugin

Los campos que se enviarán por correo se definen en el functions.php así

<?php
// jQuery Forms
add_action('wp_enqueue_scripts', function() {
	wp_enqueue_script('jquery-form');
});
?>

Formulario de contacto

<form id="subscriber_form" method="post">
	
	<label for="subscriber_name">Nombres</label> <!-- Opcional -->
	<input type="text" name="subscriber_name" id="subscriber_name">
	
	<label for="subscriber_email">Email</label>  <!-- Requerido -->
	<input type="email" name="subscriber_email" id="subscriber_email">
	
	<?php wp_nonce_field('add_subscriber'); ?> <!-- Requerido -->
	<input type="hidden" name="action" value="add_subscriber"> <!-- Requerido -->
	
	<button type="submit" id="send_subscriber">Enviar</button>

</form>

Si no está definido admin_url

<script>
var admin_url = '<?php admin_url('admin-ajax.php'); ?>';
</script>

Script para enviar el formulario usando ajaxForm

<script>

  jQuery(function () {

      jQuery('#subscriber_form').ajaxForm({
          url: admin_url,
          data: {
          },
          dataType: 'json',
          beforeSubmit: function (formData, jqForm, options) {
              // optionally process data before submitting the form via AJAX
              jQuery('#send_subscriber').attr('disabled', '').text('Enviando');
          },
          success: function (response, statusText, xhr, $form) {
              // code that's executed when the request is processed successfully
              if (response.success) {
                  jQuery('#send_subscriber').removeAttr('disabled').text('Éxito');
              } else {
                  jQuery('#send_subscriber').removeAttr('disabled').text('Falló');
              }
          }
      });
  });

</script>

Clone this wiki locally