Trimiterea automată a emailurilor abonaților la publicarea unui nou articol în WordPress

YouTube Logo Urmărește canalul nostru de YouTube

Pentru a îmbunătăți experiența utilizatorilor și pentru a crește interacțiunea cu conținutul publicat pe site, putem implementa un sistem automat de notificare a abonaților prin email de fiecare dată când un nou articol este publicat. Acest sistem utilizează funcția wp_mail() din WordPress pentru a trimite un email personalizat cu titlul articolului și un link către acesta.

1. Adăugarea unui trigger la publicarea unui articol

Pentru a detecta momentul în care un articol este publicat, folosim acțiunea publish_post, care se activează automat la publicarea unei postări noi:

add_action('publish_post', function($post_ID) {
    global $wpdb;

    // Verifică dacă este un articol nou (nu o actualizare)
    $post = get_post($post_ID);
    if ($post->post_status !== 'publish') return;

    // Obține titlul și linkul articolului
    $post_title = get_the_title($post_ID);
    $post_link = get_permalink($post_ID);

    // Selectează TOȚI abonații CONFIRMAȚI din tabelul pluginului Newsletter
    $subscribers = $wpdb->get_col("SELECT email FROM {$wpdb->prefix}newsletter WHERE status = 'C'");

    // Dacă nu sunt abonați, ieșim
    if (empty($subscribers)) return;

    // Subiectul emailului
    $subject = "📰 Nou articol pe blog: $post_title";

    // Conținutul emailului (HTML)
    $message = "
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; text-align: center; background-color: #f4f4f4; padding: 20px; }
            .email-container { max-width: 600px; background: #ffffff; padding: 20px; border-radius: 10px; box-shadow: 0px 4px 10px rgba(0,0,0,0.1); margin: auto; }
            .email-title { font-size: 22px; color: #333; font-weight: bold; }
            .email-text { font-size: 16px; color: #555; line-height: 1.5; }
            .cta-button { display: inline-block; padding: 12px 20px; background: #ff6600; color: #ffffff; text-decoration: none; font-size: 18px; border-radius: 5px; margin-top: 20px; font-weight: bold; }
            .cta-button:hover { background: #e65c00; }
            .unsubscribe { font-size: 14px; color: #999; margin-top: 20px; }
            .unsubscribe a { color: #e74c3c; text-decoration: none; }
        </style>
    </head>
    <body>
        <div class='email-container'>
            <h2 class='email-title'>📰 $post_title</h2>
            <p class='email-text'>Am publicat un nou articol pe blog. Citește-l acum pentru cele mai recente informații!</p>
            <p><a href='$post_link' class='cta-button'>📖 Citește articolul</a></p>
            <p class='unsubscribe'>Dacă nu mai dorești să primești astfel de emailuri, <a href='https://domeniu.ro/?na=unsubscribe&email={{email}}'>click aici pentru dezabonare</a>.</p>
        </div>
    </body>
    </html>";

    // Setează anteturile emailului
    $headers = [
        'Content-Type: text/html; charset=UTF-8',
        'From: Micadan <office@micadan.ro>',
    ];

    // Trimite emailul către TOȚI abonații confirmați
    foreach ($subscribers as $email) {
        $personalized_message = str_replace('{{email}}', urlencode($email), $message);
        wp_mail($email, $subject, $personalized_message, $headers);
    }
}, 10, 1);

2. Cum funcționează acest cod?

✅ Acțiunea publish_post declanșează automat trimiterea emailurilor atunci când un articol este publicat.
✅ Selectează toți abonații confirmați din baza de date a pluginului Newsletter.
✅ Trimite un email cu titlul articolului și un link direct către el.
✅ Emailul are un buton de acces rapid și o opțiune de dezabonare pentru utilizatori.

3. Beneficiile implementării acestui sistem

🔹 Automatizare completă – notificarea abonaților fără intervenție manuală.
🔹 Creșterea traficului pe site prin informarea rapidă a cititorilor despre articole noi.
🔹 Personalizare ușoară – poți edita textul emailului sau designul acestuia.

Această soluție simplifică procesul de trimitere a notificărilor pentru noile articole de pe site și asigură o comunicare eficientă cu abonații!

× YouTube Logo

🔔 Abonează-te la canalul nostru!

Primește cele mai noi tutoriale WordPress direct pe YouTube!

×