Invitaciones web
para tu boda

Invitaciones digitales animadas para tu boda. conoce todo lo que puedes agregar en ellas aquí!

Validación de campo repetido: Nombre

Validamos que un formulario de Elementor con Piotnet no registre la información del formulario si es que el nombre ya se encuentra en la base de datos de Elementor.

				
					// ***********************************************
/* VALIDACION DE UN LEAD POR FORM Y CORREO */
// ***********************************************

add_action( 'elementor_pro/forms/validation/text', 'graphica_form_validate_one_lead_per_name', 10, 3 );

function graphica_form_validate_one_lead_per_name( $field, $record, $ajax_handler ) {
    
    // Validamos solo el campo con ID 'form-field-nombres'
    if ( $field['id'] !== 'nombres' ) {
        return;
    }

    $name = $field['value']; // Obtenemos el valor del campo de texto
    $form_id = $record->get_form_settings('id'); // ID del formulario actual

    // Comprobamos si ya existe este nombre en las entradas del formulario
    $leads_count = graphica_verify_names_in_form_db($name, $form_id);

    if ($leads_count > 0) {
        $ajax_handler->add_error( $field['id'] );
        $ajax_handler->add_error_message( __('Ya has enviado tu confirmación. Si necesitas más ayuda, por favor ponte en contacto por WhatsApp.', 'graphica') );
        $ajax_handler->is_success = false;
        return;
    }
}

function graphica_verify_names_in_form_db($name, $form_id) {
    $elementor_submission_query = ElementorPro\Modules\Forms\Submissions\Database\Query::get_instance();

    // Consulta para buscar nombres existentes
    $q = "
        SELECT COUNT(wpv.submission_id) AS submission_count
        FROM " . $elementor_submission_query->get_table_submissions() . " ws
        JOIN " . $elementor_submission_query->get_table_submissions_values() . " wpv
        ON ws.id = wpv.submission_id
        WHERE ws.element_id = %s AND wpv.value = %s
    ";

    global $wpdb;

    // Ejecutamos la consulta
    $result = $wpdb->get_var( $wpdb->prepare( $q, $form_id, $name ) );

    return (int) $result;
}

/**
 * Validación al entrar a la página
 * Piotnet no valida el form con el backend, lo hace desde el front.
 * Así que debemos validar al cargar la página y detach el evento de piotnet
 * en el front.
 */
add_action('wp_ajax_graphica_validate_lead', 'graphica_validate_lead_callback');
add_action('wp_ajax_nopriv_graphica_validate_lead', 'graphica_validate_lead_callback');

function graphica_validate_lead_callback() {
    $name = isset($_POST['name']) ? sanitize_text_field($_POST['name']) : '';
    $form_id = isset($_POST['form_id']) ? sanitize_text_field($_POST['form_id']) : '';

    if (empty($name) || empty($form_id)) {
        wp_send_json_error(['message' => 'Error en validación']);
        wp_die();
    }

    $leads_count = graphica_verify_names_in_form_db($name, $form_id);

    if ($leads_count > 0) {
        wp_send_json_error(['message' => 'Ya has enviado tu confirmación.']);
    } else {
        wp_send_json_success(['message' => 'Nombre válido.']);
    }

    wp_die();
}

				
			
Picture of Graphica Digital Projects
Graphica Digital Projects

Agencia de Desarrollo Web

¿Deseas revertir tu compra?

1. Generalidades

Nuestra política de devoluciones establece los términos y condiciones bajo los cuales ofrecemos reembolsos o cambios por productos virtuales adquiridos en nuestro sitio web. Al realizar una compra, aceptas esta política en su totalidad.

2. Elegibilidad para Devoluciones

  1. Plazo de Solicitud: Las solicitudes de devolución deben realizarse dentro de los 5 días posteriores a la compra.
  2. Condiciones de Devolución: No se realizarán devoluciones una vez que el producto virtual haya sido publicado en un dominio de producción o si el diseño previo ha sido aprobado por el cliente.
  3. Pagos por Error: En caso de haber realizado un pago por error, las devoluciones solo serán permitidas si no han pasado más de 2 días hábiles. Si han pasado más días, se retendrá el 5% del monto como compensación por gastos de comisiones.

3. Proceso de Devolución

  1. Solicitud: Para iniciar una devolución, contacta a nuestro equipo de atención al cliente a través de [email/contacto] con el número de pedido y una descripción detallada del problema.
  2. Revisión de la Solicitud: Revisaremos tu solicitud y te notificaremos el estado de la devolución en un plazo de 10 días hábiles.
  3. Tiempo de Devolución: El proceso de devolución de dinero tomará un mínimo de 10 días hábiles. El tiempo total de reembolso dependerá también de los plazos de procesamiento de cada entidad bancaria.

4. Excepciones y Reembolsos

  1. Excepciones: En casos de defectos técnicos o errores atribuibles a nosotros, que impidan el funcionamiento adecuado del producto, se considerará la posibilidad de una corrección o reemplazo, en lugar de una devolución.
  2. Reembolsos: No se emitirán reembolsos una vez que el producto haya sido publicado en un dominio de producción o si el diseño ha sido previamente aprobado. Para pagos por error, se aplicará una retención del 5% si han pasado más de 2 días hábiles.

5. Cambios

En lugar de un reembolso, puedes optar por solicitar modificaciones o ajustes, sujeto a evaluación y acuerdo mutuo.

6. Contacto

Para cualquier pregunta o inquietud sobre nuestra política de devoluciones, por favor contacta a nuestro equipo de atención al cliente a través de ventas@graphica.pe.

Nota: Nos reservamos el derecho de actualizar esta política en cualquier momento, y cualquier cambio será efectivo inmediatamente después de su publicación en esta página.

Paga seguro con izipay

Pagos seguros con la plataforma izipay.

Aplican los Términos y condiciones de izipay.

 

Tu privacidad es nuestra prioridad

Al comprar productos aquí, aceptas nuestros Términos y condiciones.