MailChimp הינו אחד מכלי השיווק וניהול רשימות התפוצה מבין הנפוצים בעולם. המאמר הבא יסביר איך לחבר טופס Contact Form 7 ל-MailChimp ע״י מספר שלבים וקצת התלכלכות בקוד.
לפני תחילת המדריך יש לוודא שפתחתם חשבון ב-MailChimp וש-Contact Form 7 יהיה מותקן באתר שלכם.
שלב 1 – יצירת טופס ב-Contact Form 7
נתחיל ביצירת טופס חדש ב-Contact Form 7, נעשה זאת ע״י כניסה לפאנל הניהול של האתר, בחירה ב-״צור קשר״ בתפריט ובעמוד שיפתח לחיצה על ״הוספה״.
בעמוד החדש שיפתח, ניתן קוד שם לטופס, ונכניס את הקוד הבא:
<label for="newsletter_mail">מייל</label>[email* newsletter_mail id:newsletter_mail akismet:author_email placeholder "מה המייל שלך?"]
[submit id:newsletter_submit "הרשמה"]
לאחר מכן נלחץ על שמור.
שלב 2 – הטמעת הטופס באתר
השלב הבא הוא להטמיע את הטופס באתר, נעשה זאת ע״י העתקה של ה-Shortcode של הטופס ונדביק אותו באחד העמודים בוא נרצה להציג את הטופס.
לאחר שהעתקנו והטמענו את הטופס, נרשום בצד את ה-ID (מספר מזהה) של הטופס, ניתן להשיג אותו ע״י הסתכלות על ה-Shortcode.
שלב 3 – יצירת מפתח API
בשלב זה נתחבר לחשבון שלנו ב-MailChimp, נלחץ בצד ימין למעלה על התמונה שלנו ונבחר ב-Account
. לאחר מכן נלחץ על Extras
ונבחר ב-API Keys
.
בעמוד שנפתח, נגלול מעט מטה ונלחץ על Create A Key
ולאחר טעינת העמוד נעתיק את המחרוזת שתוצג לנו בתוך השדה.
שלב 4 – קבלת מזהה רשימה
על מנת לשייך את המיילים שנרשמו לרשימת תפוצה עלינו לחלץ את מזהה הרשימה. נעשה זאת ע״י לחיצה על קישור Lists
בתפריט העליון. כעת נלחץ על הרשימה הרלוונטית או שניצור רשימה חדשה. כעת נלחץ על Settings
ונבחר ב-List name and defaults
.
בעמוד שיפתח נעתיק את הערך שכתוב באדום תחת הכותרת List ID.
שלב 5 – הטמעת קוד ההתממשקות
כעת נפתח את קובץ functions.php
של התבנית שלנו ונדביק את הקוד הבא:
/**
* Enable Integration between Contact Form 7 and MailChimp.
*
* @param mixed $cf7 the submitted form data.
*
* @return boolean was the action successful?
*/
function send_leads_to_mailchimp( $cf7 ) {
// Integration settings.
$form_id = 0;
$list_id = 'XXXXXXX';
$api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us2';
if ( $form_id !== $cf7->id() ) {
return false;
}
$submit = \WPCF7_Submission::get_instance();
$data = $submit->get_posted_data();
if ( ! empty( $data ) ) {
$key_parts = explode( '-', $api_key );
$user_hash = md5( strtolower( $data['newsletter_mail'] ) );
$url = sprintf( 'https://%s.api.mailchimp.com/3.0/lists/%s/members/%s', $key_parts[1], $list_id, $user_hash );
$response = wp_remote_request( $url, [
'method' => 'put',
'headers' => [
'Authorization' => "Basic {$api_key}",
],
'body' => json_encode( [
'email_address' => $data['newsletter_mail'],
'status' => 'subscribed',
'merge_fields' => [],
] ),
] );
return ( ! is_wp_error( $response ) );
}
return false;
}
add_action( 'wpcf7_before_send_mail', 'send_leads_to_mailchimp' );
השורות הכי חשובות פה הינם שורות 11-13, בשורות אלו אנחנו נגדיר את ההתממשקות שלנו ל-MailChimp.
נחליף את הערכים של המשתנים לפי ההסבר הבא:
$form_id
// נחליף את הערך 0 במזהה הטופס שלנו (ID) משלב 2.$list_id
// נחליף את הערך בגרשיים במזהה הרשימה (List ID) משלב 4.$api_key
// נחליף את הערך בגרשיים במפתח ה-API שיצרנו בשלב 3.
כעת נעשה בדיקה קצרה ע״י מילוי בטופס וכניסה לרשימת תפוצה ב-MailChimp ובדיקה האם המייל שהוכנס בטופס מופיע בטבלה.
שלב 6 – ביטול שליחה מייל (אופציונלי)
מכיוון שהמיילים נכנסים ישירות ל-MailChimp, אין צורך ממשי בשליחת המייל עם פרטי הטופס, לכן נוסיף את הקוד הבא לקובץ functions.php
אחרי הקוד של שלב 5.
/**
* Skip sending email on newsletter subscription.
*
* @param boolean $to_skip skip email.
* @param mixed $cf7 contact form 7 object.
*
* @return boolean
*/
function skip_newsletter_mail( $to_skip, $cf7 ) {
// Integration settings.
$form_id = 0;
if ( $form_id === $cf7->id() ) {
return true;
}
return $to_skip;
}
add_filter( 'wpcf7_skip_mail', 'skip_newsletter_mail', 10, 2 );
כאמור, גם כאן נחליף את הערך של $form_id
במזהה הטופס שלנו משלב 2.
סיכום
רשימת תפוצה הינה כלי הכרחי לכל עסק ואתר תוכן כלשהו אשר מעוניין להקל על הגולשים שלו ע״י שליחת ניוזלטר על תוכן חדש באתר, הטבה חדשה או כל מידע אחר אשר יהיה רלוונטי לגולשים שלכם.
מאמר מצויין!
עוזר המון.
ממליץ מאוד!
תודה רבה טל!
שמח לשמוע שהמאמר עזר לך!
מוזמן לשתף בין חברים 🙂
קצר, לעניין ומאוד ברור!
תודה!
היי לולה,
תודה רבה על התגובה! שמח לשמוע שהמדריך היה ברור וקליל 🙂
מאמר נהדר, עזר לי מאוד
תודה רבה אורלי!
ווואיייי!!!
תודה רבה אני כבר כמה שעות מנסה לחבר את
gravity form ל mailchimp ומשהו לא עובד לי.
החלפתי cf7 ובזכות המדריך שלך הצלחתי לעשות את החיבר בקלות ובפשטות.
אחלה מדריך, הכנסתי למועדפים.
האם עתידים לצאת עוד מדריכים כאלה?
היי ניב,
בהחלט יצאו עוד מאמרים בסגנון הזה בהמשך!
ממליץ לך להירשם לניוזטר ולהתעדכן 🙂
נרשמתי
מחכה בקוצר רוח
מאמר מצויין ! חוסך פלאגינים וקוד מיותר
תודה רבה טל!