<html lang="es-es" dir="ltr"><head></head><body>### [Cómo enviar una notificación por correo electrónico al publicar la entrada de una publicación](https://wpforms.com/developers/how-to-send-email-notification-on-post-submission-publish/)

**Publicado:** 29 de marzo de 2021
**Autor:** David Ozokoye

**Contenido:**

## Introducción

¿Te gustaría enviar una notificación por correo electrónico a los autores que envían un artículo de envío de publicación cuando se publica su artículo? Cuando creas un formulario para el complemento **Envío de publicaciones**, puedes establecer el estado de esta publicación en **Borrador** o **Pendiente de revisión** cuando se envía. Esto permite al administrador del sitio revisar el artículo antes de que se publique. Cuando el artículo se publica, el autor no recibe ninguna notificación; sin embargo, al agregar un pequeño fragmento a tu sitio, puedes enviar fácilmente una notificación al autor para informarle que su publicación acaba de ser publicada.

¡En este tutorial, te guiaremos paso a paso sobre cómo lograr esto!

## Creación de un formulario de envío de publicaciones

Para el propósito de este tutorial, ya hemos creado nuestro formulario de publicación de invitados. Pero si necesitas ayuda para configurar un formulario con el complemento **Envío de publicaciones**, [visita esta documentación](https://wpforms.com/docs/how-to-install-and-use-the-post-submissions-addon-in-wpforms/ "Cómo instalar y usar el complemento de envío de publicaciones en WPForms") y te proporcionará pasos detallados sobre cómo crear este formulario.

Una vez que hayas creado tu formulario, deberás ajustar la configuración. Mientras estás en el creador de formularios, haz clic en **Configuración** y luego haz clic en la pestaña **Envío de publicaciones** para editar esta configuración.

Mapearemos campos como **Título de la publicación**, **Imagen destacada**, etc., pero también cambiaremos el **Estado de la publicación** a **Pendiente de revisión** cuando se reciba una entrada para que podamos revisar la publicación antes de publicarla.

![Establecer el estado de la publicación en Pendiente de revisión o Borrador](https://wpforms.com/wp-content/uploads/2021/03/post-submissions-settings.jpg)## Configuración de la notificación por correo electrónico para envíos de publicaciones

A continuación, es hora de agregar el fragmento de código que enviará un correo electrónico al autor cuando se publique la publicación. Para hacer esto, necesitarás agregar un fragmento de código a tu sitio.

Si necesitas ayuda para agregar fragmentos de código a tu sitio, [consulta este tutorial](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/ "Cómo agregar PHP o JavaScript personalizado para WPForms").

```

/**
 * Notificar al autor cuando se publica un artículo enviado por publicación
 *
 * @link   https://wpforms.com/developers/how-to-send-email-notification-on-post-submission-publish/
 */
 
function notifyauthor($post_id) {
     
    global $wpdb;
     
    $post = get_post($post_id); // Obtener la información de la publicación
     
    $table_name = $wpdb-&gt;prefix . 'wpforms_entries'; // Nuestra tabla de entradas
     
    $wpf_entry_fields = $wpdb-&gt;get_col( $wpdb-&gt;prepare( "SELECT fields FROM {$table_name} WHERE post_id = %d;", $post_id ) ); // Consultar la tabla según el ID de la publicación
     
    $wpf_entry_data = json_decode( $wpf_entry_fields[0] ); // Decodificar los datos
    // Establecer estos en falso ahora. Se establecerán en verdadero si se encuentra un correo electrónico y un nombre.
    // 
    $name_found = false;
    $email_found = false;
     
    // Buscar la dirección de correo electrónico y el nombre del autor.
    foreach ( $wpf_entry_data as $item ) {
         
        // Encontrar el nombre, usar solo el primero
        if ( "name" == $item-&gt;type &amp;&amp; false == $name_found ) {
            $author_name = $item-&gt;first;
            $name_found = true;
        }
         
        // Encontrar la dirección de correo electrónico
        if ( "email" == $item-&gt;type ) {
            if( is_email( $item-&gt;value ) ){
                $author_email = $item-&gt;value;
                $email_found = true;
                break;
            } 
        }
    }
     
    // Dirección de correo electrónico encontrada, así que enviar la notificación
    if( true == $email_found ){
        $subject = "Publicación publicada: ".$post-&gt;post_title."";
        $message = "
              Hola, " . esc_attr( $author_name ) . "!,
              Tu publicación, \"" . $post-&gt;post_title . "\" acaba de ser publicada.
              Ver publicación: " . get_permalink( $post_id ) . "
              Gracias";
           wp_mail( $author_email, $subject, $message );
    }
}
 
add_action( 'publish_post', 'notifyauthor' );
```

Lo que hará este fragmento es que, al actualizarse el estado **Publicado** en la publicación, buscará al autor con ese **Nombre**, si se encuentra obtendrá la **Dirección de correo electrónico** asociada con ese usuario y enviará el mensaje que se ingresa en el fragmento.

![Cambia el mensaje a lo que quieras cuando se publique la entrada](https://wpforms.com/wp-content/uploads/2021/03/wpforms-send-email-notification.jpg)Puedes actualizar este mensaje que irá al autor a lo que desees. En este ejemplo, estamos estableciendo el **Asunto** del correo electrónico con el título de la publicación, así como incluyendo ese título de publicación y su enlace permanente dentro de la notificación por correo electrónico.

**Nota:** Si varios autores usan el mismo nombre, este fragmento irá con el primer nombre que encuentre.

¡Y eso es todo! Cuando se publique la entrada, el autor recibirá una notificación por correo electrónico sobre su envío de publicación.

![ejemplo de notificación por correo electrónico sobre envío de publicación](https://wpforms.com/wp-content/uploads/2021/03/email-notification-post-submission.jpg)¿Te gustaría que el complemento **Envío de publicaciones** cree un perfil de usuario por ti? Echa un vistazo a nuestro tutorial sobre [Cómo crear un formulario de perfil usando envíos de publicaciones](https://wpforms.com/developers/how-to-build-an-profile-form-using-post-submissions/ "Cómo crear un formulario de perfil usando envíos de publicaciones").

**Categorías:** Tutoriales, Notificaciones

---</body></html>