ברוכים הבאים ל-LEMON!

קהילת LEMON הוקמה במטרה לשתף קטעי קוד (CSS, JS, PHP) ומדריכים שימושיים בין בוני אתרים באלמנטור.
באתר תוכלו למצוא מגוון קטעי קוד שונים שתוכלו לשלב באתרים שלכם. בנוסף, יעלו לאתר מדריכים מתקדמים בנושא אלמנטור, כלים ותוספים שקשורים לאלמנטור, ועוד מגוון מדריכים בנושא בניית אתרים.

הרשמו לניוזלטר

הרשמו עכשיו וקבלו עדכון מיידי בכל פעם שעולה תוכן חדש לאתר.

קבוצת LEMON בפייסבוק

אתם מוזמנים להצטרף!

חיבור טופס אלמנטור לסמוב ושיוך לרשימת דיוור בהסכמה

המאמר מתבסס על המאמר של אלחנן לבבי מסטודיו האייל על חיבור טופס אלמנטור למערכת סמוב בלי זאפייר.

אלחנן הציג במאמר שלו שתי דרכים לחבר טופס אלמנטור למערכת סמוב. אני משתמשת באפשרות השניה שאלחנן מציע – שיטה שדורשת כתיבת קוד בקובץ התבנית.

בעזרת המפתח שלי הוספתי שינוי קטן לקוד של אלחנן כדי לאפשר צ'קבוקס הסכמה לדיוור. השינוי הוא די פשוט ועכשיו אני יכולה להוסיף את הדרישה הזאת לאתרים שלי גם בלי להיעזר במפתח.

אזהרה חשובה – השיטה הזאת כוללת הכנסת קוד לקובץ התבנית, והשימוש בה הוא על אחריותכם בלבד. שימו לב שטעויות בקובץ התבנית עלולות לגרום לאתר לא לעבוד, כך שכדאי לוודא שאתם מבינים מה אתם עושים.

כמובן שכל שינוי כזה צריך להיעשות על תבנית בת.

הוספת צ'קבוקס להסכמה לדיוור

אנחנו נתקלים בזה לא מעט – יש לנו באתר טופס יצירת קשר כללי, ואנחנו רוצים להוסיף אפשרות להצטרפות לרשימת התפוצה. כשהגולש מסמן את הצ'קבוקס הוא מצטרף לרשימת הניוזלטר שלנו, ואם הוא לא מסמן את הצ'קבוקס – הפניה עדיין תגיע אלינו, אבל אנחנו נדע שלא לדוור לו.

לצורך כך נייצר שתי רשימות בסמוב:

  1. רשימת ניוזלטר – מורשים לדיוור – הגולשים שהסכימו לקבל מאיתנו דיוור.
  2. רשימת צרו קשר – לא מורשים לדיוור – גולשים ששלחו לנו טופס יצירת קשר, ולא הסכימו לדיוור.

איך מחברים שדה הסכמה לדיוור לטופס אלמנטור שמחובר ל-Smoove?

כאמור, הבסיס הוא במאמר של אלחנן לבבי וכדאי לגשת לשם לפירוט השלבים.

  1. לפי המדריך של אלחנן נייצר מפתח API מ-Smoove.
  2. הפעם במקום רשימה אחת של ניוזלטר, ניצור רשימה נוספת בשם "צרו קשר – לא לדיוור" (או כל שם אחר שיהיה לכם ברור שמדובר באנשים שלא מעוניינים בדיוור), כך שיש לנו שתי רשימות – אחת מורשית דיוור ואחת לא.
  3. לטופס באלמנטור ניתן שם, למשל contact-form
  4. נוסיף לטופס באלמנטור שדה הסכמה, שהוא אינו חובה, וניתן לו ID ייחודי, למשל newsletter_checkbox
  5. נוודא שה-ID של כל שאר השדות תואם למה ש-Smoove מצפים (שם יהיה firstname, שם משפחה אם יש יהיה lastname, מייל יהיה email, טלפון יהיה cellphone..)
  6. בקובץ ה-function.php נדביק את הקוד הבא עם מספר שינויים:
// only subscribe to newsletter if checkbox is checked
add_action( 'elementor_pro/forms/new_record', function( $record, $handler ) {
	//make sure its our form
	$form_name = $record->get_form_settings( 'form_name' );

	// If the submitted form is different from any of the form names written here,
    // do nothing
    $forms = array('sadna-form', 'contact-form', 'personal-form', 'course-form');
	if ('MY_FORM_NAME' !== $form_name) {
		return;
	}

	$raw_fields = $record->get( 'fields' );
	$fields = [];
	foreach ( $raw_fields as $id => $field ) {
		$fields[ $id ] = $field['value'];
	}

    $NEWSLETTER_LIST = YYYYYYY;
	$NON_NEWSLETTER_LIST = XXXXXX;
	
	// We have 2 lists, one for users who checked the checkbox, another for those who didn't
	// Here we set the correct list id
	$list_id = $fields['MY_CHECKBOX_ID'] === 'on' ? $NEWSLETTER_LIST : $NON_NEWSLETTER_LIST;
	
	// Make request to smoove with the correct list id (note the the string has to use double quote, IE - "")
	wp_remote_post( "https://members.smoove.io/subscribe.aspx?exists=merge&restore=Restore&source=API&apikey=XXXXXXXXXXXXXXXXXXXXX&viplists={$list_id}", [
		'body' => $fields,
	]);
}, 10, 2 );Code language: PHP (php)

MY_FORM_NAME = שם הטופס באלמנטור (למשל contact-form)
YYYYY – מספר הרשימה בסמוב של מי שאפשר לדוור לו
ZZZZZZ – מספר הרשימה בסמוב של מי שלא ניתן לדוור לו
XXXXXXXXXXXX – מפתח ה-API שלכם מסמוב
MY_CHECKBOX_ID = ה-ID שנתתם לשדה ההסכמה באלמנטור. במקרה שלי – newsletter_checkbox

זהו, עכשיו אפשר לבדוק ולראות את הפלא קורה.
שימו לב להיות מדויקים בהכנסת הנתונים, כי כל טעות קטנה תגרום לקוד לא לעבוד.

מאמר אורח מאת אפרת אייל, בונת אתרים ובלוגרית

העתקת קישור

מוזמנים לשאול בפייסבוק!

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

לשאלות / בקשות / בעיות / כל דבר אחר… צרו איתנו קשר :)

אודות כותב/ת הפוסט
אפרת אייל
בונת אתרים ובלוגרית. אשת SEO בעברי וכיום מתמקדת בבניית אתרים מותאמים אישית ללקוחות.
הרשמו לניוזלטר

הרשמו עכשיו וקבלו עדכון מיידי בכל פעם שעולה תוכן חדש לאתר.