Mostrar contenido exclusivo a cambio de email

Contenido exclusivo para WordPress-3


¿Quieres ofrecer contenido exclusivo en WordPress y aumentar tu base de correos electrónicos? Con este sistema, puedes captar emails de manera profesional y efectiva. Los usuarios deberán ingresar su correo para desbloquear contenido premium, asegurando así que los datos recopilados sean válidos y de personas realmente interesadas en tus productos o servicios.

El proceso es simple: los visitantes ingresan su email, aceptan términos y reciben un código de verificación en su bandeja de entrada. Una vez validado, acceden de inmediato al contenido exclusivo sin restricciones. Además, este método permite registrar la actividad de cada usuario, vinculando su email con el contenido que consulta, lo que facilita la personalización de campañas de email marketing.

Ideal para negocios que buscan mejorar la conversión y fidelizar clientes, este sistema es fácil de configurar y adaptable a cualquier sitio web. Implementa esta estrategia en WordPress y convierte tus visitantes en leads de calidad.

Debes agregar el siguiente código en el archivo functions.php de tu tema hijo o, si prefieres una opción más organizada y segura, utilizar un plugin como Code Snippets. Esto asegurará que los cambios se mantengan incluso después de actualizar tu tema.

Contenido exclusivo para WordPress-2
// Agrega una acción para insertar contenido en el  del sitio

add_action('wp_head', 'custom_blur_content_styles_and_scripts');

function custom_blur_content_styles_and_scripts() {

    // Si el usuario actual es un administrador, no se aplica el difuminado ni se cargan estilos y scripts

    if (current_user_can('administrator')) {

        return;

    }

    ?>

    

    



        

    

Para ver este contenido, ingresa tu email:

Recibirás un código de 6 dígitos en tu correo electrónico que debes ingresar en el formulario. Una vez validado el código tendrás acceso directo al contenido. Si cambias de página o la actualizas tendrás que volver a solicitar el código.

Para continuar, acepta los términos y condiciones.

Términos y Condiciones

Tu email será usado para enviarte contenido relevante. No se compartirá con terceras personas. Puedes darte de baja en cualquier momento enviándonos un correo a [email protected].

current_time('mysql'), // Fecha y hora actual 'articulo' => array( // Información del artículo 'title' => $post_title, 'url' => $post_url, ), 'acepto_terminos' => true, // Marca como que aceptó términos ); // Actualiza la lista de visitantes en las opciones de WordPress if (!update_option('visitantes_emails', $visitantes)) { error_log("No se pudo actualizar visitantes_emails."); } } // Genera un código aleatorio de 6 caracteres $code = substr(str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'), 0, 6); // Guarda el código en un transitorio (temporal) asociado al email, válido por 15 minutos set_transient('email_code_' . $email, $code, 15 * MINUTE_IN_SECONDS); // Construye el mensaje de correo electrónico con el código $message = "

Tu Código de Verificación

Usa este código: $code

Válido por 15 minutos.

"; // Envía el correo electrónico con el código wp_mail($email, 'Código de Verificación', $message, array('Content-Type: text/html; charset=UTF-8')); // Responde al frontend indicando que el código fue enviado wp_send_json_success(['unlocked' => false]); } // Registra las acciones AJAX para verificar el código, tanto para usuarios autenticados como para visitantes add_action('wp_ajax_nopriv_verify_code', 'verify_user_code'); add_action('wp_ajax_verify_code', 'verify_user_code'); function verify_user_code() { // Sanitiza y obtiene el email y código enviados desde el frontend $email = sanitize_email($_POST['email']); $code = sanitize_text_field($_POST['code']); // Recupera el código almacenado en el transitorio para el email proporcionado $stored_code = get_transient('email_code_' . $email); // Verifica si el código existe o ha expirado if (!$stored_code) { // Responde con un error si el transitorio no existe wp_send_json_error('Código expirado o no encontrado.'); } // Compara el código ingresado con el almacenado (sin considerar espacios en blanco) if (trim($stored_code) === trim($code)) { // Si el código es correcto, elimina el transitorio para evitar reutilización delete_transient('email_code_' . $email); // Crea una cookie que indica que el email ha sido verificado, válida por 1 día setcookie('email_verified', $email, time() + DAY_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN); // Responde con éxito al frontend wp_send_json_success('Código correcto.'); } else { // Responde con un error si el código no coincide wp_send_json_error('Código incorrecto o expirado.'); } } // Agrega una página personalizada al menú de administración add_action('admin_menu', 'create_visitantes_page'); function create_visitantes_page() { // Usa la función `add_menu_page` para agregar una nueva página al menú de administración add_menu_page( 'Visitantes', // Título de la página 'Visitantes', // Texto del menú 'manage_options', // Capacidad requerida para acceder 'visitantes', // Slug de la página 'render_visitantes_page', // Función que renderiza el contenido de la página 'dashicons-email-alt', // Icono del menú 20 // Posición en el menú ); } // Función que renderiza la página de administración de visitantes function render_visitantes_page() { // Obtiene la lista de visitantes almacenada en las opciones de WordPress $visitantes = get_option('visitantes_emails', array()); // Asegura que la lista sea un array if (!is_array($visitantes)) { $visitantes = array(); } // Maneja las acciones del formulario (eliminar o exportar) if (isset($_POST['action']) && $_POST['action'] === 'delete') { // Si se seleccionaron emails para eliminar if (!empty($_POST['emails'])) { foreach ($_POST['emails'] as $email) { unset($visitantes[$email]); // Elimina el email de la lista } update_option('visitantes_emails', $visitantes); // Actualiza la lista en la base de datos } } elseif (isset($_POST['action']) && $_POST['action'] === 'export_csv') { // Si se solicita la exportación a CSV export_visitantes_to_csv($visitantes); // Llama a la función para exportar } // HTML para mostrar la tabla de visitantes ?> $info) { fputcsv($output, array( $email, // Email del visitante $info['fecha'] ?? 'N/A', // Fecha de registro o 'N/A' $info['articulo']['title'] ?? 'N/A', // Título del artículo o 'N/A' $info['articulo']['url'] ?? 'N/A', // URL del artículo o 'N/A' !empty($info['acepto_terminos']) ? 'Sí' : 'No', // Indicador de aceptación de términos )); } // Cierra el puntero de salida fclose($output); exit; // Termina la ejecución del script }

Explicación del Código para mostrar contenido exclusivo en WordPress

  1. Agregar estilos y scripts personalizados
    • Acción: add_action('wp_head', 'custom_blur_content_styles_and_scripts')
    • Función: Inserta los estilos CSS y el JavaScript necesarios en la cabecera del sitio.
    • Detalles:
      • Define los estilos para el contenido desenfocado, el formulario de email y la superposición.
      • Incluye un script para gestionar la interacción del usuario (mostrar términos y condiciones, enviar código de verificación y desbloquear contenido).
      • Se excluye a los administradores para evitar carga innecesaria.
  2. Habilitar AJAX en el frontend
    • Acción: add_action('wp_enqueue_scripts', 'add_ajaxurl_to_frontend')
    • Función: Define la variable global ajaxurl para facilitar solicitudes AJAX al backend de WordPress.
    • Detalles:
      • ajaxurl apunta a admin-ajax.php, permitiendo la comunicación entre el frontend y el servidor.
  3. Shortcode para desenfoque de contenido
    • Acción: add_shortcode('blur_content', 'custom_blur_content_shortcode')
    • Función: Permite proteger contenido con un shortcode [blur_content].
    • Detalles:
      • Genera el HTML con desenfoque, superposición y formulario.
      • Usa el contenido entre el shortcode como el texto a proteger.
      • Se implementa fácilmente en cualquier página o entrada.
  4. Procesamiento del código de verificación
    • Función: check_or_send_code()
    • Propósito: Gestiona solicitudes AJAX para validar o enviar códigos de verificación.
    • Detalles:
      • Verifica el email ingresado por el usuario.
      • Genera un código único de 6 caracteres y lo almacena temporalmente.
      • Envía el código por correo electrónico.
      • Registra el email, la fecha y la URL del contenido accedido.
  5. Verificación del código ingresado
    • Función: verify_user_code()
    • Propósito: Confirma si el usuario ingresó el código correcto.
    • Detalles:
      • Compara el código almacenado con el ingresado.
      • Si es correcto, elimina el código temporal y configura una cookie para desbloquear el contenido.
      • Si es incorrecto o ha expirado, muestra un mensaje de error.
  6. Creación de la página «Visitantes»
    • Función: create_visitantes_page()
    • Propósito: Agrega una sección en el panel de administración para gestionar emails recopilados.
    • Detalles:
      • Añade un menú llamado «Visitantes».
      • Muestra una tabla con emails, fecha, artículo visitado y aceptación de términos.
      • Permite eliminar registros o exportarlos en CSV.
  7. Renderización de la página de visitantes
    • Función: render_visitantes_page()
    • Propósito: Muestra la lista de usuarios registrados.
    • Detalles:
      • Tabla con datos recopilados.
      • Opciones para eliminar o exportar emails.
      • Botón para descargar el listado en CSV.
  8. Exportación de datos a CSV
    • Función: export_visitantes_to_csv()
    • Propósito: Genera un archivo CSV descargable con los visitantes registrados.
    • Detalles:
      • Incluye los campos: email, fecha, artículo visitado y términos aceptados.
      • Configura los encabezados HTTP para descarga inmediata.
  9. Estilos CSS personalizados
    • Propósito: Definir el diseño del contenido desenfocado y los formularios.
    • Detalles:
      • Usa filter: blur(8px) para desenfoque del contenido.
      • Estiliza el formulario para facilitar la interacción.
      • Aplica transiciones suaves para mejorar la experiencia del usuario.
  10. JavaScript en el frontend
  • Propósito: Gestionar la interacción del usuario en la web.
  • Detalles:
    • Mostrar términos: Expande la sección de términos y condiciones al hacer clic.
    • Enviar código: Solicita el código de verificación vía AJAX.
    • Verificar código: Confirma si el código ingresado es correcto para desbloquear contenido.
    • Manejo de errores: Informa al usuario en caso de fallos.

Resumen:

En resumen, integrar un sistema de captura de emails en WordPress, como el detallado en este artículo, es una estrategia eficaz para expandir tu base de clientes potenciales. Este código no solo protege el contenido exclusivo, sino que también permite recopilar datos valiosos de los visitantes, optimizando la personalización de ofertas y campañas. Además, su capacidad para exportar y gestionar registros lo convierte en una herramienta clave para cualquier estrategia de email marketing.




¿Listo para potenciar tu presencia en el mundo digital? En Full Tech Solutions, sabemos lo que necesitas: planes de Cloud Hosting diseñados para ofrecer rendimiento, seguridad y flexibilidad.

No importa si estás comenzando o escalando tu proyecto, tenemos la solución perfecta para ti. 🚀 ¡Da el salto al siguiente nivel con nuestro servicio confiable y adaptado a tus objetivos!

Contáctanos hoy mismo y comienza a construir un futuro digital sin límites.

ESCRIBIR UN COMENTARIO

¿Qué está pensando?

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *