Jeder weiß, wie man einen Newsletter macht. Viele Menschen wissen, wie man Triggerketten erstellt. Jemand weiß, wie man einen Newsletter aus dem RSS-Feed eines Blogs erstellt. Wir mussten tiefer graben, weil wir wollten, dass unser Newsletter nicht einfach, sondern schön und detailliert ist. Immerhin handelt es sich um einen interessanten Blog, für den wir uns auch viel Mühe gegeben haben.
Für jedes Detail in einem einfach aussehenden Brief musste ich mit diesem niedlichen Affen kämpfen. Es hat alles geklappt. Wir sagen Ihnen wie.
Mailhimp ist ein englischsprachiger und manchmal unlogischer Schnittstellendienst. Aber er weiß, wie viel und ist so beliebt, dass ihm akribische Anweisungen zur Bereitstellung von Inhalten für Leser auf alle möglichen Arten geschrieben wurden.
Wir haben Mailhimp auch für unsere PromoPult-Blogpostings ausgewählt. Eine der Funktionen von Mailhimp sind automatische Kampagnen. Sie können regelmäßige Mailings, Einzelbriefe, Begrüßungsbriefe und vieles mehr planen.
In dieser Geschichte geht es darum, die automatische Veröffentlichung von Blog-Posts einzurichten. Einmal pro Woche eine Zusammenfassung frischer Materialien an die Post des Abonnenten.
Die Standardoption für die automatische Verknüpfung und warum sie nicht zu uns passte
Mailhimp selbst verfügt über eine hervorragende Dokumentation zu allen Funktionen und insbesondere auch dazu: Teilen Sie Ihre Blog-Beiträge mit Mailchimp . Es gibt auch Übersetzungen ins Russische mit unterschiedlichem Angemessenheitsgrad.
Kurz gesagt, was Sie benötigen, um eine automatische Verknüpfung herzustellen:
- Erstellen Sie einen separaten RSS-Feed für MailChimp (oder erstellen Sie keinen Standard-Feed, sondern verwenden Sie einen Standard-Feed).
- Erstellen Sie eine Kampagne, geben Sie die Quelle an und konfigurieren Sie die Sendebedingungen.
- Erstellen Sie eine Vorlage und wählen Sie sie aus.
- Fertig. Du bist unglaublich!
Was uns nicht gefallen hat, ist, dass es einfach unmöglich ist, eigene Dinge hinzuzufügen.
Es gibt grundlegende Daten aus dem RSS-Feed, die Mailhimp versteht:
- Grundlegende Informationen zum Feed (Titel, Link, Beschreibung, Datum der
*|RSSFEED|*
oder Aktualisierung des Feeds) - *|RSSFEED|*
. - Link zu einem separaten Post-Tag
*|RSSFEED:URL|*
, zeigt den <link>
im <item>
(im Folgenden). - Der Titel eines einzelnen Beitrags ist das Tag
*|RSSITEM:TITLE|*
, das sich auf <title>
*|RSSITEM:TITLE|*
. - Datum der Veröffentlichung eines einzelnen Post-Tags
*|RSSITEM:DATE|*
, siehe <pubDate>
. *|RSSITEM:CONTENT|*
eines separaten Post-Tags *|RSSITEM:CONTENT|*
, siehe <description>
, wenn sich dieses Tag nicht in <item>
- MailChimp betrachtet <content:encoded>
. Sie können darin HTML-Tags verwenden.
- Der vollständige Inhalt eines einzelnen Beitrags ist das Tag
*|RSSITEM:CONTENT_FULL|*
, das sich mit <content:encoded>
. - Das Bild eines Beitrags, häufig eine Vorschau ( Miniaturansicht in WordPress-Begriffen) - Tag
*|RSSITEM:IMAGE|*
, zeigt <media:content>
und vergisst nicht zusätzliche Tags und Attribute für Medienanhänge : Altersmarkierungen, Informationen zur Datei selbst und so weiter.
Und wir haben zusätzliche Dinge in einem separaten Beitrag:
- Kommentarzähler
- Zähler anzeigen ;
- Wie Zähler
- Ich möchte das Datum der Veröffentlichung des Beitrags in menschlichem Format anzeigen: Erstens in russischer Sprache mit Ablehnung und wenn der Beitrag in diesem Jahr veröffentlicht wurde - nicht das Jahr der Veröffentlichung anzeigen (jetzt funktioniert alles im Blog, in Briefen möchte ich die gleiche Aufmerksamkeit für Details) ;
- Separate benutzerdefinierte Pfostenabdeckung , die Sie irgendwie erreichen müssen;
- Kategorie mit einem Link zu allen Beiträgen aus der Kategorie.
Und Sie können dies nicht in einen regulären RSS-Feed einfügen - es gibt keine entsprechenden Tags. Benutzerdefinierte MailChimp-Tags verstehen das nicht und sollten nicht dafür verantwortlich gemacht werden. Wir müssen nach einer Lösung suchen, die jedem passt und nicht kaputt geht.
Die Daten, die in einer separaten Postkarte in der Digest-Vorlage angezeigt werden müssen, sind an das Erscheinungsbild gebunden. Der Designer zeichnete, der Schriftsetzer litt sehr und machte den Brief.
PromoPult-Blogpostkarte in der wöchentlichen Übersicht
Wie wir das Problem gelöst haben
Erstellen Sie RSS-Feeds
Als erstes müssen Sie einen separaten RSS-Feed für MailChimp erstellen. Es gibt bereits mehrere ähnliche Feeds im PromoPult-Blog: für Yandex.Zen und für Turbo-Seiten .
Sie können einen neuen Feed über add_feed () erstellen. Hier ist der Code in der Themenfunktionsdatei:
functions.php:
add_action( 'init', 'customRSSforMC' ); function customRSSforMC() { add_feed( 'mchimp', 'customRSSforMCFunc' ); } function customRSSforMCFunc() { get_template_part( 'rss', 'mchimp' ); }
In Zeile Nr. 7 get_template_part ( 'rss', 'mchimp' );
- gibt an, dass die Vorlage für den Feed im Stammverzeichnis des rss-zen.php
liegt und den Namen rss-zen.php
.
Nachdem Sie die Datei erstellt und die Funktion hinzugefügt haben, müssen Sie im WordPress-Admin-Bereich die CNC-Einstellungen aufrufen: "Konsole → Einstellungen → Permalinks" und auf die Schaltfläche "Änderungen speichern" klicken, damit WordPress die /feed/URL
Einstellungen aktualisiert und unter der angegebenen /feed/URL
im ersten Parameter von Zeile Nr. 4 öffnet neuer RSS-Feed.
Sie müssen dies einmal tun, wenn Sie das Band erstellen.
Siehe unser Beispiel: https://blog.promopult.ru/feed/mchimp
Was ist in dem Band
Im Feed selbst befindet sich eine reguläre WordPress-Post-Schleife: query_posts () . Auf diese Weise können Sie Beiträge sehr flexibel auswählen und filtern: Als würden Sie einzelne Kategorien, Seiten mit Auswahlmöglichkeiten, Archive und alles, was Sie für WordPress-Beiträge benötigen, einrichten.
Bevor Sie jedoch zur perfekten Lösung des Problems gelangen, gab es mehrere Versuche, die Daten, die für das Schreiben in die Standarddesigns von RSS-Feeds wichtig sind, zu stopfen und in MailChimp zu verwenden.
Zum Beispiel gab es eine solche Option für den Kommentarzähler :
<item> [...] <title><?php the_title_rss(); ?></title> <link><?php the_permalink_rss(); ?>?utm_source=newsletter</link> // 1, <?php if (get_comments_number() >= 1) { ?> <commentsCounter><?php comments_number('0', '1', '%'); ?></commentsCounter> <?php } ?> [...] </item>
Diese Option funktioniert natürlich in Bezug auf Daten: Alles, was benötigt wird, wird erhalten und korrekt angezeigt. MailChimp versteht das <commentsCounter>
jedoch nicht wie alle anderen nicht standardmäßigen Tags.
Zum Beispiel auch mit Daten. MailChimp hat ein eigenes Tag: *|RSSITEM:DATE:d/m/y|*
, und Sie können ihm Datumsformatierungsoptionen übergeben . Aber leider sieht es in dem Brief überhaupt nicht menschlich aus. Über die Datumsübersetzung im Allgemeinen kann man nicht sprechen.
Ein weiteres Problem sind Bilder. Du hast gelitten und dein schönes Schreiben erfunden. Sie müssen ein Bild anzeigen. In der E-Mail-Vorlage tun Sie Folgendes:
<img src="*|RSSITEM:IMAGE|*" alt="*|RSSITEM:TITLE|*" />
Der MailChimp-Parser kann jedoch das Layout beschädigen und seine Eigenschaften, Klassen und anderen Code zum Image-Tag <img ... />
hinzufügen.
Tipp. Wenn Sie Standard-Feeds und -Tags verwenden, vergessen Sie nicht, das Kontrollkästchen " Größe der Bilder von RSS-Feeds gemäß der Vorlage ändern " in den Kampagneneinstellungen zu aktivieren:
Zwischenschlussfolgerungen: etwas geht schief, die Standardoptionen reichen nicht aus, der Brief ist schrecklich und nicht menschlich. Nicht standardmäßige Daten können nicht angezeigt werden.
Mit den Ohren eine Finte machen: alles selbst markieren
Wenn im RSS-Feed kein Standard ausgeführt werden kann, damit der MailChimp-Service-Parser dies richtig versteht, können Sie den fertigen markierten und gefalteten Code für die Postkarte einfach in das
<description>
separaten
<item>
-Elements im Feed übertragen.
Es gibt nur ein separates Minus: Alle Stile zum Schreiben sollten inline sein, dh alles, was durch .class
beschrieben wird, wird zu Stilen im Attribut style=”...”
.
<!-- : --> <style> .post-meta { Margin: 8px 0; } .post-category { border-radius: 3px; border: #adb2b2 1px solid; color: #adb2b2 !important; border-bottom: #adb2b2 1px solid !important; padding: 2px 6px; font-size: 13px; line-height: 13px; Margin: 0 8px 0 0; } </style> <div class="post-meta"> <a href="https://blog.promopult.ru/category/seo" target="_blank" class="post-category">SEO: </a> </div> <!-- : --> <div style="Margin: 8px 0;"> <a href="https://blog.promopult.ru/category/seo?utm_source=newsletter" target="_blank" style="Margin: 0 8px 0 0; border: #adb2b2 1px solid; border-bottom: #adb2b2 1px solid !important; border-radius: 3px; color: #adb2b2 !important; font-size: 13px; line-height: 13px; padding: 2px 6px; text-decoration: none;">SEO: </a> </div>
Für das Layout von Blog-Briefen wurde „Pechkin“ verwendet - ein Schluck-Sammler von Briefvorlagen , der einen Brief aus Blöcken sammelt und selbst Stile inline. Sie können auch Online-Style-Inlining verwenden, z. B. Premailer.io .
Eine Feed-Schleife ist in der RSS-Feed-Vorlage verfügbar. Daher können Sie alles nach Ihren Wünschen und Bedürfnissen ziehen und formen.
Der erste Ansatz für die Lösung war teilweise: Belassen Sie den Titel, die URL und die Kurzbeschreibungs-Tags als Standard, veröffentlichen Sie jedoch Metainformationen: Ansichten, Likes, Kommentare, Kategorie und Veröffentlichungsdatum, um sie in einem separaten HTML-Code zu bilden und in die Markup-Position einzufügen.
Diese Option musste auch aufgrund eines fehlerhaften Layouts und mangelnder Kontrolle über das Layout und die Bildstile aufgegeben werden. Übertragen Sie später das gesamte Markup des Postkartenblocks auf das <description>
.
<?php while (have_posts()): the_post(); ?> <item> <description><![CDATA[ <div class="post-card"> <?php if ( get_post_meta($post->ID, 'imga', true) ) { ?> <div class="post-card__img"> <a href="<?php the_permalink(); ?>?utm_source=newsletter" target="_blank"> <img src="<?php echo $postImg[0]; ?>" alt="<?php the_title(); ?>"> </a> </div> <?php } ?> <div class="post-card__info"> <h2> <a href="<?php the_permalink(); ?>?utm_source=newsletter"><?php the_title(); ?></a> </h2> <p> <a href="<?php the_permalink(); ?>?utm_source=newsletter"> <?php if ( !empty( get_post_meta($post->ID, 'intro', true) ) ) { echo get_post_meta($post->ID, 'intro', true); } else { $content = get_the_content(); $trimmed_content = wp_trim_words( $content, 12, '...' ); echo $trimmed_content; } ?> </a> </p> <div> <p> <?php if (get_the_date('Y') == date('Y')) { the_time('j F'); } else { the_time('j F Y'); } ?>, <?php $categories = get_the_category(); if( $categories[0] ) { echo '<a href="' . get_category_link($categories[0]->term_id ) . '?utm_source=newsletter">'. $categories[0]->name . '</a>'; } ?> <?php if(function_exists('the_views')) { ?> <span> <span> <img src="icon-views.png" alt=" "> </span> <span class="item__text"><?php the_views(); ?></span> </span> <?php } ?> <?php if (function_exists('get_simple_likes_counter')) { if (get_simple_likes_counter( get_the_ID() ) >= 1) { ?> <span> <span class="item__icon"> <img src="icon-like.png" alt=" "> </span> <span><?php echo get_simple_likes_counter( get_the_ID() ); ?></span> </span> <?php } } ?> <?php if (get_comments_number() >= 1) { ?> <span> <span> <img src="icon-comments.png" alt=" "> </span> <span><?php comments_number('0', '1', '%'); ?></span> </span> <?php } ?> </p> </div> </div> </div> ]]></description> </item> <?php endwhile; wp_reset_query(); ?>
Der Beispielcode enthält keine Inline-Stile, damit alles ordentlich aussieht. Die Kampfversion des Bandes wird mit vollständigem Markup und Stilen geliefert.
Alle Adressen für Grafiken im Beispiel sind ebenfalls vereinfacht. In der Kampfversion werden alle erforderlichen Bilder, Symbole, Fotos und alles, was zum Schreiben wichtig ist, über Content Studio in das MailChimp-Administrationsfenster hochgeladen, und die Vorlagen verwenden bereits die vollständige Adresse für src-
Attribute von <img />
-Tags.
In den Zeilen Nr. 20-24 wählen wir die Version der Textansage (Intro) des Artikels aus. Wenn die Post-Eigenschaften in beliebigen Feldern des Datensatzes - get_post_meta () - benutzerdefiniert sind , zeigen Sie es an. Wenn es nicht vorhanden ist, zeigen Sie, was in get_the_content () enthalten ist .
Wählen Sie auch ein Post-Cover-Bild aus. Mit dem Artikel sind zwei Bilder verknüpft: eine kleine Vorschau (angezeigt auf der Postkarte auf der Hauptseite) und ein Cover aus dem Postkopf. Nehmen Sie eine große Deckung.
Ein Beispiel für einen Header mit Hintergrund in einem PromoPult-Blogbeitrag
Da dies alles im Standard-WordPress-Zyklus geschieht, stehen alle Sortiermethoden zur Verfügung. Zeigen Sie beispielsweise die meistgesehenen und beliebtesten Likes der letzten 12 Tage an und sortieren Sie zwischen mehr und weniger Likes.
Geben Sie den Inhalt des Feeds in der E-Mail-Vorlage aus
Da sich alle Daten für eine einzelne Postkarte innerhalb des <description>
-Tags befinden, das in ein separates <item>
-Element eingebettet ist, müssen Sie sie nur in der Nachrichtenvorlage anzeigen:
<h1> PromoPult</h1> <p>*|RSSFEED:DESCRIPTION|*</p> *|RSSITEMS:|* *|RSSITEM:CONTENT|* *|END:RSSITEMS|*
Die Daten werden korrekt angezeigt, der HTML-Code wird in eine Schleife eingefügt und die automatische Kampagne funktioniert.
Separate Zeile über RSSFEED und FEEDBLOCK
Was ist der Unterschied zwischen *|RSSFEED|*
und *|FEEDBLOCK|*?
Es ist einfach, die Unterschiede herauszufinden:
*|FEEDBLOCK|*
kann in allen E-Mail- und Kampagnenvorlagen verwendet werden. Wenn Sie beispielsweise über die neuesten Beiträge in einem regelmäßigen Newsletter sprechen möchten, verwenden Sie ihn. Sie können einen Link zu einer beliebigen RSS-Quelle angeben.*|RSSFEED|*
funktioniert nur in automatischen Kampagnen und sieht als Quelle, was in den Kampagneneinstellungen angegeben ist.
GESAMT: Wenn alles Standard und einfach für Sie ist, verwenden Sie Standard-MailChimp-Tools und machen Sie sich keine Sorgen
Wenn Ihr Blog-Design und Ihre Mailinglisten jedoch dreimal speziell für den Kampf entworfen und koordiniert wurden, wenn Sie die verfügbaren Daten zu automatischen Briefen hinzufügen oder zumindest das Datum auf Russisch ablehnen möchten, müssen Sie sich ein wenig die Mühe machen und fertige gepackte Daten an MailChimp senden.
Wie - wir haben es erzählt.
Links zum Thema RSS-Feeds in MailChimp: