משחקים עם עיצוב התוסף Contact Form 7

התוסף Contact Form 7 הוא התוסף הנוח והמוצלח ביותר ליצירת טפסים באתרי וורדפרס

עם מעל למיליון התקנות פעילות, Contact Form 7 הוא התוסף ליצירת טפסים מהפופולרים ביותר שקיימים לוורדפרס. אחת הסיבות להצלחתו היא האמת מאחורי התיאור שלו: ״פשוט אך גמיש״ – והוא באמת כך.

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

עיצוב ברירת המחדל

לטפסים אשר אתם יוצרים בעזרת Contact Form 7 אין הגדרות עיצוב (css) משלהם, העיצוב הקיים ברגע שהוספתם טופס הוא תוצאה של הגדרות עיצוב הקיימות בתבנית בה אתם משתמשים.

כך נראה לדוגמא הטופס הסטנדרטי אם תוסיפו אותו לתבנית Twenty Sixteen המגיעה כברירת מחדל עם וורדפרס:

עיצוב טופס ראשוני contact form 7

במקרה שלנו, נגיע עם הטופס למצב הבא בתור התחלה (אתם מוזמנים לשחק עם הטופס, זהו טופס חי):




שום דבר מרגש במיוחד, אך מעבר לשינויים הקופצים לעין, שימו לב למספר דברים שאולי פספסתם במבט ראשון:

  • הורדנו את הכיתוב מעל לכל שדה והחלפנו אותו ב placeholder בתוך השדה.
  • הורדנו את אפשרות ההגדלה (resize) של השדה הודעה.
  • הקטנו את גובה השדה הודעה ובהמשך נגרום לו להפתח ברגע שנלחץ על השדה.
  • גרמנו להודעות השגיאה של כל שדה להיות ממוקמות אבסולוטית.

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

נשכתב את הקוד של הטופס

החליפו את קוד הטופס שיצרתם בממשק הניהול של וורדפרס לקוד הבא:

שימו לב כי קבענו placeholders והוספנו class בשם my_input_field לכל אחד מהשדות.

 

נגרום להודעות השגיאה להיות ממוקמות אבסולוטית

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

נוסיף את השורה html_class="use-floating-validation-tip" כך שייראה בצורה הזו:

שיהיה ברור, זוהי פונקציונליות של Contact Form 7 עצמו, כלומר לתוסף עצמו יש css המשוייך ל class הזה.

על הדרך, הצטרפו לרשימת התפוצה !

נוסיף את הגדרות העיצוב (css)

הוסיפו את השורות הבאות לקובץ ה css של תבנית הבת שלכם:

 

נגרום לשדה ״הודעה״ לגדול במצב פוקוס

נעשה זאת על ידי מספר שורות jQuery אותן נוסיף לפוטר (footer) של האתר, הוסיפו את הקוד הבא לקובץ functions.php:

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

 

נבטל את ה zoom במכשירי מובייל

ברגע שלוחצים על שדה של טופס ברוב מכשירי המובייל, מתבצעת הגדלה של המסך (zoom) שאני מוצא כמיותרת. במידה ואתם מעוניינים לבטל הגדלה זו הוסיפו את הקוד הבא לקובץ functions.php בתבנית הבת שלכם:

 

נחליף את ה preloader הסטנדרטי של Contact Form 7שולח...

הוסיפו פונקציה זו לקובץ functions.php על מנת לשנות את ה preloader המופיע ברגע שלוחצים על כפתור השליחה. שנו את שם התיקייה ואת שם הקובץ בהתאם:

אתם מוזמנים להוריד מקישור זה מספר preloaders מעניינים:

contact form 7 preloaders

 

דוגמא לטופס בעל שתי עמודות

בואו נראה עוד אופציה לטופס עם מבנה של שתי עמודות כבדוגמא הבאה:



בכדי להגיע למצב זה פשוט החליפו את ה css שהוספתם בדוגמא הקודמת ב css הבא:

 

לסיכום

יכול להיות שמעבר להגדרות ה css שהראיתי במאמר זה, תאלצו לבצע שינויים נוספים ברמת ה css על מנת להגיע בדיוק למצב בו הטפסים נראים כבדוגמאות שהבאתי, אך אני מניח כי הבנתם את הכיוון הכללי, אחרי הכל אלו רק משחקים עיצוב התוסף Contact Form 7 …

(ואם בא לכם להמשיך, תנו מבט במאמר המדבר על אופטימיזציה של Contact Form 7 לביצועים טובים יותר.)

רועי יוסף

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

תגובות פייסבוק

{ 14 תגובות… הוסף אחת }
  • רמי יושובייב 14 במרץ 2016, 11:46

    יפה מאוד!

  • משה שלומי 20 ביוני 2016, 0:27

    איזה פינוק!
    תודה

  • עבדאללה מרהג' 20 באוקטובר 2016, 22:18

    היי

    עבודה מדהימה והיא משפרת את עיצוב הפורום פלאים, פשוט גאוני
    הכל עבד לאחר מאמץ לא פשוט (בתור מתחיל) והצלחתי להתגבר על רוב בעיות עיצוב שצצו ע"י שיוניים קטנים בערכים בקוד ה CSS רק נותר שתי בעיות שלא הצלחתי למצוא להם פתרון
    1. הודעת השגיאה ממוקמות אבסולוטית אבל לא כמו שצריך, היא נמרחת למטה ומופיעה (אנוכית), קרי לא בשורה אחת אלא מלה מתחת לשנייה בתוך מרובע

    2. הקוד שאמור לבטל את ה ZOOM במובייל דופק את קובץ את function.php ומפיל את האתר

    אשמח לעזרה

    • רועי יוסף 21 באוקטובר 2016, 4:37

      היי, שמח שעבד לך יחסית חלק.

      לגבי הודעות השגיאה, אני חושב שזה קשור למבנה ה form שלך באתר, יש לי תחושה שתיבות הסימון משבשות זאת.
      בכל מקרה אתה יכול לנסות להוסיף width:160px; ל class בשם use-floating-validation-tip span.wpcf7-not-valid-tip הקיים בקובץ css שלך.

      לגבי עניין ה zoom, אנא בדוק שנית את הפונקציה, נשמע לי מוזר …

      • עבדאללה מרהג' 21 באוקטובר 2016, 10:57

        היי

        ביצעתי את השיוניים ועוד ניסיתי דרכים אחרות וזה לא עוזר
        והמוזר זה שמחקתי את הקוד בשני קבצי CSS של התוסף ועדיין רואה את ההודעה שממוקמת אבסולוטית !!!

      • עבדאללה מרהג' 21 באוקטובר 2016, 11:10

        גם מחקתי את התיבות סימון וזה לא עוזר
        אגב, הודעת השגיאה היחידה שממוקמת ומופיעה כמו שצריך שז שמעל תיבות הסימון !!!

  • רוב 27 בדצמבר 2016, 8:58

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

  • נחמה 29 בינואר 2017, 13:06

    שלום רועי,
    אתה יודע איך מגדירים שהשדה יקלוט רק ספרות?
    אני מתכוונת לשדה של מספר טלפון, שהגדרתי שיקבל רק 10 תווים:
    minlength:10 maxlength:10
    אבל אם מישהו מכניס מקף זה גם מתקבל, והמספר שנשלח מגיע עם ספרה אחת פחות.
    תודה מראש!

  • עמי 14 ביוני 2017, 13:13

    תודה, עוזר לי המון.
    אשמח לראות דוגמאות נוספות..

  • אריק 15 ביוני 2017, 12:39

    יש דרך לעצב את הטופס כך שיופיע בפוטר מאוזן?
    נגיד להכניס אותו בארבע עמודות עם שורה אחת בכל עמודה?
    תודה רבה

השאירו תגובה

כבר הולכים ? הרשמו לרשימת התפוצה !

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

לעולם לא נשתף את הפרטים שלכם...

קראו גם את:
וורדפרס טעינת כפתורי שיתוף אסינכרונית
טעינת כפתורי שיתוף בצורה אסינכרונית בוורדפרס

סגור