Popup en una entrada de WordPress

Popup en una entrada de WordPress

Como poner un Popup en una entrada de WordPress. Una forma directa y eficaz de crear un Popup (o Modal), en tu entrada de WordPress.

📄 Código paso a paso

1. Añadir el HTML del modal

Coloca este bloque en el archivo single.php de tu tema hijo, o bien mediante un hook en functions.php usando wp_footer. En este ejemplo, el modal solo se carga si la entrada tiene un ID concreto (ejemplo: 123).

php

<?php
// En functions.php o en single.php
function ee3_modal_single_entry() {
    if (is_single(123)) { // Cambia 123 por el ID de tu entrada
        ?>
        <!-- Modal HTML -->
        <div id="ee3Modal" class="modal">
          <div class="modal-content">
            <span class="close">&times;</span>
            <h2>Bienvenido a esta entrada</h2>
            <p>Este es un modal exclusivo para esta entrada en ee3.es.</p>
          </div>
        </div>

        <style>
          /* Estilos básicos del modal */
          .modal {
            display: none;
            position: fixed;
            z-index: 9999;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow: auto;
            background-color: rgba(0,0,0,0.7);
          }
          .modal-content {
            background-color: #fff;
            margin: 10% auto;
            padding: 20px;
            border: 1px solid #888;
            width: 80%;
            max-width: 500px;
            border-radius: 8px;
          }
          .close {
            color: #aaa;
            float: right;
            font-size: 28px;
            font-weight: bold;
            cursor: pointer;
          }
          .close:hover {
            color: #000;
          }
        </style>

        <script>
          // Script para abrir y cerrar el modal
          document.addEventListener("DOMContentLoaded", function() {
            var modal = document.getElementById("ee3Modal");
            var span = document.getElementsByClassName("close")[0];

            // Mostrar modal al cargar la página
            modal.style.display = "block";

            // Cerrar modal al hacer clic en la X
            span.onclick = function() {
              modal.style.display = "none";
            }

            // Cerrar modal al hacer clic fuera del contenido
            window.onclick = function(event) {
              if (event.target == modal) {
                modal.style.display = "none";
              }
            }
          });
        </script>
        <?php
    }
}
add_action('wp_footer', 'ee3_modal_single_entry');

🔎 Explicación

  • is_single(123) → asegura que el modal solo se muestre en la entrada con ID 123.
  • El modal se abre automáticamente al cargar la página.
  • Se puede cerrar con la X o haciendo clic fuera del contenido.
  • Todo el código se inyecta en el footer de WordPress para no romper la estructura del tema.

📌 Conclusión: Con este snippet, tu modal aparecerá únicamente en la entrada que definas en ee3.es.

Agregarle una Imagen al Popup

Ejemplo con imagen en el modal

Dentro del bloque modal-content añade la imagen:

html

<div id="ee3Modal" class="modal">
  <div class="modal-content">
    <span class="close">&times;</span>
    <h2>Bienvenido a esta entrada</h2>
    <img src="https://tusitio.com/wp-content/uploads/imagen-modal.jpg" 
         alt="Imagen ilustrativa" 
         style="max-width:100%; height:auto; margin-bottom:1rem; border-radius:8px;">
    <p>Este es un modal exclusivo para esta entrada en ee3.es.</p>
  </div>
</div>

🔎 Detalles importantes

  • src → pon la URL de la imagen que quieras mostrar. Si la subes a la biblioteca de medios de WordPress, copia la URL completa.
  • style → con max-width:100% y height:auto aseguras que la imagen sea responsive y no se desborde.
  • margin-bottom → añade espacio debajo de la imagen.
  • border-radius → opcional, para esquinas redondeadas.

📌 En Divi

  • Si usas el módulo de código de Divi, pega el bloque completo del modal con la imagen incluida.
  • Si prefieres, puedes añadir la imagen desde la biblioteca de Divi y copiar su URL en el src.