חיפוש ]

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

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

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

כל השינויים במדריך זה מתבצעים באמצעות CSS בלבד – אין צורך לשנות קבצי PHP של התוסף. הוסיפו את ה-CSS לקובץ הסגנונות של תבנית הבת שלכם או טענו אותו באמצעות wp_enqueue_style.

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

הבנת מבנה ה-HTML של Contact Form 7

לפני שמתחילים לעצב, חשוב להבין את מבנה ה-HTML שהתוסף מייצר. כל טופס של CF7 עטוף בקלאס .wpcf7, והטופס עצמו מקבל את הקלאס .wpcf7-form.

כל שדה בטופס עטוף ב-<span> עם הקלאס .wpcf7-form-control-wrap. הכרת הקלאסים האלה היא המפתח לעיצוב מדויק.

הנה הקלאסים העיקריים שכדאי להכיר:

  • .wpcf7 – העטיפה החיצונית של כל טופס CF7
  • .wpcf7-form – אלמנט הטופס עצמו
  • .wpcf7-form-control – כל שדה בודד (input, textarea, select)
  • .wpcf7-submit – כפתור השליחה
  • .wpcf7-spinner – אנימציית הטעינה לאחר שליחה
  • .wpcf7-response-output – הודעת התגובה לאחר שליחה

עיצוב שדות הקלט וה-Textarea

ברירת המחדל של שדות CF7 יורשת את סגנונות התבנית, מה שלעיתים מוביל למראה לא אחיד. הנה CSS שיוצר מראה נקי ומינימלי:

.wpcf7 input:not([type="submit"]),
.wpcf7 textarea {
    border: none;
    border-bottom: 1px solid #545454;
    background: transparent;
    outline: none;
    border-radius: 0;
    width: 100%;
    padding: 8px 0;
    font-size: 16px;
    transition: border-color 0.3s;
}

.wpcf7 input:focus:not([type="submit"]),
.wpcf7 textarea:focus {
    border-bottom-color: #a3316f;
}

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

הגדרת font-size: 16px על שדות input מונעת זום אוטומטי במכשירי iOS. מתחת ל-16px, Safari מבצע זום על השדה בזמן פוקוס.

Textarea שגדל בזמן פוקוס

טריק נחמד שחוסך מקום במסך – שדה ה-textarea מתחיל קטן ומתרחב כשהמשתמש לוחץ עליו:

.wpcf7 textarea {
    resize: none;
    height: 46px;
    transition: height 0.4s ease;
}

.wpcf7 textarea:focus {
    height: 120px;
}

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

עיצוב כפתור השליחה

כפתור השליחה של CF7 מקבל את הקלאס .wpcf7-submit. ניתן לעצב אותו בכל דרך, אבל כדאי לכלול מצבי hover ו-focus לנגישות:

.wpcf7 input[type="submit"] {
    background: #a3316f;
    color: #fff;
    border: none;
    padding: 12px 32px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus {
    background: #8a2a5e;
}

טיפ: הוספת קלאס מותאם לכפתור השליחה

ניתן להוסיף קלאסים ישירות דרך ה-shortcode tag של CF7. במקום לכתוב [submit "שלח"], כתבו:

[submit class:my-custom-btn "שלח"]

כך תוכלו לטרגט את הכפתור בצורה ספציפית עם .my-custom-btn מבלי להשפיע על כפתורים אחרים באתר.

הוספת קלאסים ו-IDs לשדות בודדים

דבר שמפתחים רבים לא יודעים – ניתן להוסיף קלאסים מותאמים ו-IDs ישירות ל-shortcode tags של CF7:

[text* your-name class:my-input id:name-field placeholder "שם מלא"]
[email* your-email class:email-input id:email-field placeholder "אימייל"]

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

עיצוב ה-Placeholder

ב-CF7 ניתן להגדיר placeholder ישירות ב-shortcode tag. כדי לשנות את צבע הטקסט של ה-placeholder, השתמשו ב-pseudo-element ::placeholder:

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: #999;
    opacity: 1;
}

ההגדרה opacity: 1 חשובה כי דפדפנים מסוימים (בעיקר Firefox) מציגים placeholders עם שקיפות מופחתת כברירת מחדל.

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

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

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

קוד הטופס בעורך CF7

הקוד הבא נכנס ישירות לעורך הטופס בממשק הניהול של CF7:

<div class="cf7-two-cols">
    <div>[text* your-name placeholder "שם מלא"]</div>
    <div>[email* your-email placeholder "אימייל"]</div>
    <div>[text your-phone placeholder "טלפון"]</div>
    <div>[text your-subject placeholder "נושא"]</div>
</div>

[textarea your-message placeholder "הודעה"]

<div class="cf7-submit-wrap">
    [submit class:cf7-btn "שלח"]
</div>

ה-CSS

הוסיפו את ה-CSS הבא לתבנית הבת שלכם. הוא משתמש ב-Flexbox כדי לסדר את השדות בשתי עמודות ולמרכז את כפתור השליחה:

.cf7-two-cols {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}

.cf7-two-cols > div {
    flex: 1 0 calc(50% - 10px);
    max-width: calc(50% - 10px);
    margin-bottom: 16px;
}

.cf7-submit-wrap {
    text-align: center;
    margin-top: 10px;
}

.cf7-btn {
    background: #a3316f;
    color: #fff;
    border: none;
    padding: 12px 40px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s;
}

.cf7-btn:hover,
.cf7-btn:focus {
    background: #8a2a5e;
}

@media screen and (max-width: 768px) {
    .cf7-two-cols > div {
        flex: 1 0 100%;
        max-width: 100%;
    }
}

ב-media query, השדות עוברים לעמודה אחת במובייל כדי לשמור על קריאות.

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

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

דוגמה לטופס אימייל אינליין של CF7 עם כפתור

קוד הטופס בעורך CF7

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

<div class="cf7-inline-form">
    <div class="cf7-inline-field">
        [email* your-email placeholder "האימייל שלכם"]
    </div>
    <div class="cf7-inline-btn">
        [submit class:cf7-subscribe-btn "הרשמה"]
    </div>
</div>

ה-CSS

ה-CSS משתמש ב-Flexbox כדי ליישר את השדה והכפתור על אותה שורה:

.cf7-inline-form {
    display: flex;
    max-width: 480px;
}

.cf7-inline-field {
    flex: 1;
}

.cf7-inline-field input {
    width: 100%;
    border: none;
    border-bottom: 1px solid #545454;
    background: transparent;
    padding: 10px 0;
    font-size: 16px;
    outline: none;
}

.cf7-inline-field input:focus {
    border-bottom-color: #a3316f;
}

.cf7-subscribe-btn {
    background: #a3316f;
    color: #fff;
    border: none;
    padding: 10px 24px;
    font-size: 16px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.3s;
}

.cf7-subscribe-btn:hover,
.cf7-subscribe-btn:focus {
    background: #8a2a5e;
}

@media screen and (max-width: 480px) {
    .cf7-inline-form {
        flex-direction: column;
    }
    .cf7-subscribe-btn {
        width: 100%;
        margin-top: 10px;
    }
}

ה-white-space: nowrap על הכפתור מונע שבירת שורה בטקסט הכפתור. ב-media query, המתווה עובר לעמודה אנכית במסכים צרים.

הודעות Validation צפות (פיצ'ר מובנה)

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

CF7 כולל פתרון מובנה – הוסיפו את הקלאס use-floating-validation-tip לשורטקוד של הטופס:

[[contact-form-7 id="xxx" html_class="use-floating-validation-tip" title="הטופס שלי"]]

כך הודעות השגיאה יוצגו כ-tooltip צף ליד השדה במקום לדחוף את המתווה. לתוסף עצמו יש CSS מובנה שמטפל במיקום ה-tooltip.

עיצוב הודעות השגיאה

ניתן לשנות את המראה של הודעות השגיאה באמצעות הקלאס .wpcf7-not-valid-tip:

.wpcf7-not-valid-tip {
    color: #e74c3c;
    font-size: 13px;
    font-weight: 400;
}

.wpcf7 .wpcf7-not-valid {
    border-bottom-color: #e74c3c;
}

הקלאס .wpcf7-not-valid מתווסף אוטומטית לשדות שלא עברו ולידציה. ניתן להשתמש בו כדי לסמן אותם עם גבול אדום.

עיצוב הודעות תגובה לאחר שליחה

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

  • .wpcf7-form.sent – שליחה הצליחה
  • .wpcf7-form.invalid – יש שגיאות ולידציה
  • .wpcf7-form.spam – הוזהה כספאם
  • .wpcf7-form.failed – שליחה נכשלה

לדוגמה, כדי לעצב את הודעת ההצלחה בצורה שונה מהודעת השגיאה:

.wpcf7-form.sent .wpcf7-response-output {
    border-color: #27ae60;
    color: #27ae60;
    background: rgba(39, 174, 96, 0.05);
}

.wpcf7-form.invalid .wpcf7-response-output {
    border-color: #e74c3c;
    color: #e74c3c;
    background: rgba(231, 76, 60, 0.05);
}

הסתרת הטופס לאחר שליחה מוצלחת

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

.wpcf7-form.sent .wpcf7-form-control-wrap,
.wpcf7-form.sent .wpcf7-submit {
    display: none;
}

.wpcf7-form.sent .wpcf7-response-output {
    text-align: center;
    font-size: 18px;
    padding: 20px;
    margin-top: 0;
}

כל זה מתבצע ב-CSS בלבד, ללא צורך ב-JavaScript.

עיצוב Checkbox ו-Radio Buttons

CF7 עוטף כל checkbox ו-radio ב-<span> עם הקלאס .wpcf7-list-item. ניתן להשתמש בזה כדי ליצור מראה מותאם:

.wpcf7 .wpcf7-list-item {
    display: block;
    margin: 8px 0;
}

.wpcf7 .wpcf7-list-item label {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

התאמת ה-Spinner (אנימציית טעינה)

לאחר לחיצה על כפתור השליחה, CF7 מציג spinner. ניתן לשנות את המראה שלו או להסתיר אותו לחלוטין:

.wpcf7-spinner {
    display: none;
}

או, אם רוצים לשנות את המיקום שלו:

.wpcf7-spinner {
    position: absolute;
    margin: 0;
}

תכונות נוספות ב-Shortcode Tags

CF7 תומך בתכונות נוספות ב-shortcode tags שלא כולם מכירים:

  • size:40 – קובע את רוחב השדה הנראה
  • minlength:3 ו-maxlength:100 – הגבלת אורך טקסט
  • autocomplete:name – מפעיל השלמה אוטומטית של הדפדפן
  • default:value – ערך ברירת מחדל לשדה

דוגמה משולבת:

[text* your-name minlength:2 maxlength:50 autocomplete:name class:styled-input placeholder "שם מלא"]

שימוש ב-html_class ו-html_id בשורטקוד

ניתן להוסיף כל קלאס או מזהה לעטיפת הטופס דרך השורטקוד עצמו:

[[contact-form-7 id="xxx" html_class="my-form dark-theme" html_id="main-contact" title="הטופס שלי"]]

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

שאלות נפוצות

שאלות נפוצות על עיצוב טפסים של Contact Form 7:

האם Contact Form 7 כולל הגדרות עיצוב מובנות?
לא. Contact Form 7 לא כולל ממשק עיצוב. הטפסים יורשים את סגנונות ה-CSS של התבנית בה אתם משתמשים. כל התאמה עיצובית מתבצעת על ידי הוספת CSS מותאם לתבנית הבת שלכם.
מה עושה html_class="use-floating-validation-tip"?
זהו פיצ'ר מובנה של CF7 שגורם להודעות שגיאה של שדות להופיע כ-tooltip צף במקום להידחף מתחת לשדה. כך מבנה הטופס לא נשבר כשיש שגיאות ולידציה.
איך מוסיפים קלאס CSS מותאם לשדה ספציפי ב-CF7?
הוסיפו class:your-class-name ישירות ב-shortcode tag של השדה. למשל: [text* your-name class:my-input]. ניתן גם להוסיף מזהה עם id:your-id בצורה דומה.
איך יוצרים טופס CF7 בשתי עמודות?
עטפו את השדות ב-div עם קלאס מותאם בעורך של CF7, ואז השתמשו ב-CSS Flexbox עם flex-wrap: wrap ו-flex: 1 0 50% על כל div פנימי. הוסיפו media query כדי שהשדות יעברו לעמודה אחת במובייל.
אפשר להסתיר את הטופס לאחר שליחה מוצלחת?
כן. CF7 מוסיף את הקלאס .sent לטופס לאחר שליחה מוצלחת. ניתן להשתמש בו ב-CSS כדי להסתיר את שדות הטופס ולהציג רק את הודעת ההצלחה, ללא צורך ב-JavaScript.

סיכום

למרות ש-Contact Form 7 לא כולל ממשק עיצוב, הוא מספק מבנה HTML צפוי עם קלאסים ספציפיים שמאפשרים התאמה עיצובית מלאה באמצעות CSS. מפיצ'רים מובנים כמו floating validation tips ועד קלאסים דינמיים שמתווספים בהתאם לסטטוס השליחה – יש כאן הרבה יותר ממה שנראה במבט ראשון.

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

דיון ותגובות
68 תגובות  ]
  • רמי יושובייב 14 מרץ 2016, 11:46

    יפה מאוד!

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

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

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

    היי,

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

    • הודעת השגיאה ממוקמות אבסולוטית אבל לא כמו שצריך, היא נמרחת למטה ומופיעה (אנוכית), קרי לא בשורה אחת אלא מלה מתחת לשנייה בתוך מרובע.
    • הקוד שאמור לבטל את ה ZOOM במובייל דופק את קובץ את function.php ומפיל את האתר.

    אשמח לעזרה…

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

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

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

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

        היי

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

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

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

      • עינב 1 דצמבר 2021, 4:11

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

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

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

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

    שלום רועי,

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

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

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

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

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

    • עדי 21 אוקטובר 2022, 12:14

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

  • עדי 26 יולי 2017, 0:41

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

    • רועי יוסף 26 יולי 2017, 1:04

      היי, מדובר על הטופס שיצרת בלוח הבקרה של וורדפרס – אמור להופיע תחת צור קשר > טפסי יצירת קשר. שם יופיעו הטפסים.. לחצי על אחד מהם ותראי את הקוד של הטופס 🙂

  • יעל 29 ינואר 2018, 15:18

    היי, אני רוצה להוסיף שדה ACF בתוך contact form 7, אם אני עושה את זה ישירות מתיבת הטקסט שלו הפונקציה לא עובדת. למשל יש לי את שני ה input האלו ובניהם אני רוצה שיופיע איזשהו field שהגדרתי:

    [text* your-name id=name placeholder "Name"]
    [email* id=email placeholder "Email"]

    האם יש איזושהיא דרך להפעיל פונקציה בתוך ה contact form 7?

    • רועי יוסף 29 ינואר 2018, 15:26

      היי יעל 🙂

      את לא יכולה לבצע זאת בצורה הזו. אם זה זה שדה (field) כלשהו שרלוונטי לטופס (form), את נדרשת לעשות זאת ע״י התגיות של CF7 בלבד.

      איזה סוג שדה בדיוק את רוצה להכניס?

  • יעל 29 ינואר 2018, 15:30

    שדה טקסט רגיל

    • רועי יוסף 29 ינואר 2018, 15:34

      אז אם זה שדה טקסט למה את לא מכניסה אותו דרך CF7? את יכולה לעשות זאת בצורה הבאה:

      [text* your-text placeholder "Text"] 
      • יעל 29 ינואר 2018, 15:41

        כי אני צריכה לעצב את הטופס בצורה מסוימת, יש לי classes בין ה inputs לשדות..

        • יעל 29 ינואר 2018, 15:44

          וחוץ מזה אני צריכה שהשדה טקסט הזה יהיה דינמי והערך שלו יבוא מ ACF…

          • רועי יוסף 29 ינואר 2018, 15:51

            את לא יכולה לעשות זאת רק באמצעות CF7. ניתן לעשות זאת בעזרת תוסף משלים ל CF7 בשם Contact Form 7 Dynamic Text Extension.

            אך לצערי לא אוכל להסביר לך כיצד לעשות זאת בעזרתו, תאלצי להסתדר לבד.. זה פשוט מעבר ל scope של התמיכה שאני יכול לתת..

  • גיא מזרחי 9 פברואר 2018, 19:00

    שיחקת אותה! לא יודע איך לא הכרתי את האתר הזה עד היום. אלוף!!

  • דורון 28 מאי 2018, 13:02

    כרגיל… מושלם.
    תודה רבה!

  • עילי פלס 29 אוגוסט 2018, 16:24

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

    • רועי יוסף 30 אוגוסט 2018, 2:06

      היי עילי 🙂

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

  • רוב 29 אוקטובר 2018, 15:01

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

    • רועי יוסף 29 אוקטובר 2018, 15:09

      היי רוב,

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

      מקווה שזה עוזר..

  • יעל 19 דצמבר 2018, 11:52

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

    • רועי יוסף 19 דצמבר 2018, 20:08

      היי יעל,

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

  • רוב 20 דצמבר 2018, 10:27

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

    • רועי יוסף 20 דצמבר 2018, 10:28

      כמובן, אתה יכול לבדוק את הפוסט הזה במובייל ולראות איך נראים הטפסים בו. הקוד הוא בדיוק אותו קוד…

  • שלי 26 דצמבר 2018, 20:21

    אחלה של כתבה והסבר! תודה! רק שאלה, הייתי רוצה להוסיף קטע טקסט של "חייגו למספר 123456789" מתחת לטופס (אבל כן בתוך הטופס 7). אני הצלחתי לעשות את זה לבד. השאלה היא איך אני מחברת לינק לצלצול מהיר בנייד למספר שבטקסט? ושוב, תודה על כל העזרה! 🙂

    • רוב 27 דצמבר 2018, 8:49

      לא הבנתי מה השאלה, אבל לעשות קישור שמפעיל חיוג צריך

      <a href="tel:180012345678">1-800-12345678 חייגו אלינו</a>
  • hadas 17 ינואר 2019, 10:24

    שלום,

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

  • רז 2 יולי 2019, 16:12

    היי,

    תודה רבה מדריך מדהים ואתר מעולה! שני דברים שלא הצלחתי להסתדר איתם. יש לי גרסה שאמורה לתמוך בשינוי preloader אך משום מה אני לא מצליח לשנות אותו…העלתי את gif לאתר (למדיה באתר) ושמתי את הקישור אך זה לא משתנה.

    דבר שני ההודעות שגיאה ממקומות קצת מתחת לשורה ולא בדיוק עליה – איך אני משחק עם המיקום? תודה רבה!

  • מלכי לוי 8 אוגוסט 2019, 9:22

    היא רק בגרסת פרו ניתן לעצב את התופס?

  • osh 10 מאי 2020, 0:24

    מעולה לי כרגע…תודה רבה לך מאסטר סאבי !

  • יוחנן 22 יוני 2020, 22:29

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

    • יוחנן 22 יוני 2020, 22:41

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

      .oneRowForm input[type="email"] {
          text-align: right;
      }
      • רועי יוסף 23 יוני 2020, 15:38

        שמח שהסתדרת ותודה ששיתפת 🙂

      • שלום 20 דצמבר 2022, 11:49

        תודה רבה על המדריך אלוף.

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

        .oneRowForm input[type="email"] {
            text-align: right;
        }
        .oneRowForm input[type="text"] {
            text-align: right;
        }
        .oneRowForm input[type="tel"] {
            text-align: right;
        }
        .oneRowForm input[type="etxtarea"] {
            text-align: right;
        }

        הבעיה שלי שהפקודה לא חלה על ההודעה ("etxtarea"). אודה מאוד לדעת מה הפתרון…

  • יעל 14 דצמבר 2020, 12:15

    אני די חדשה, הצלחתי להכין טופס אבל לא יודעת איפה מטמיעים את העיצוב ב CSS?

    • רועי יוסף 19 דצמבר 2020, 15:05

      היי יעל,

      את קוד ה CSS יש לנטמיע בקובץ ה CSS שנטען באמצעות התבנית. בדרך כלל ניתן להוסיפו לקובץ style.css.

  • צובירי יוסף 26 דצמבר 2020, 16:41

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

    • רועי יוסף 26 דצמבר 2020, 16:42

      היי יוסף,

      כמובן שאפשר. אפשר להוסיף כמה שדות שתרצה.

  • עדי 21 פברואר 2021, 20:32

    היי,
    יש לי דף צור קשר באתר ואין לי מושג לאן מגיעות הפניות מהטופס.. מדובר באתר פעיל (שלא אני בניתי ) ולאחרונה רק שמתי לב לנושא- איפה אפשרי לשנות את כתובת המייל שאליה מגיעות הפניות?

    עדי

  • אורה 22 אפריל 2021, 10:59

    תודה על הפוסט !!!!!
    אני מנסה לשים את הקוד שכתבת כדי ליצור טופס עם שני עמודות
    שמתי את הcss בתבנית בstyle.css ולא משפיע כלום
    מה אפשר לעשות?

    • אורה 22 אפריל 2021, 11:27

      אופס הצלחתי שמתי בקובץ style.css במקום styles.css עכשיו עובד לי תודה! רק שאלה נוספת בבקשה, איך אני מקטינה את כל הטופס הוא יצא לי ענק?

  • זוהרה 5 דצמבר 2021, 14:54

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

    • רועי יוסף 6 דצמבר 2021, 10:44

      היי זוהרה,

      נסי משהו בסגנון הבא עבור הטופס:

      <div class="fourRowsForm">
          <div>
              [text* your-name placeholder "שם מלא"]
          </div>
          <div>
              [email* your-email placeholder "אימייל"]
          </div>
          <div>
              [text* your-text placeholder "סתם טקסט"]
          </div>
          <div>
              [submit class:my_submit_button "שלח"]
          </div>
      </div>

      ולהשתמש ב CSS הבא:

      .fourRowsForm > div {
          flex: 1 0 25%;
          box-sizing: border-box;
          max-width: 25%;
      }
      
      .fourRowsForm > div:nth-child(1) {
          padding-left: 20px;
      }
      
      .fourRowsForm > div:nth-child(2) {
          padding-left: 20px;
      }
      
      .fourRowsForm {
          position: relative;
          display: flex;
          flex-wrap: wrap;
      }
      
      .fourRowsForm > div input:not([type="submit"]) {
          border: none;
          border-bottom: 1px solid #545454 !important;;
          background: none !important;
          outline: none;
          border-radius: 0;
          padding: 0;
          text-indent: 0;
          font-weight: 400;
          width: 100%;
      }
      
      .fourRowsForm input[type="submit"] {
          background: #a3316f;
          width: 100%;
          height: 32px;
          line-height: 32px;
          border-radius: 0;
          outline: none;
          -webkit-transition: all .3s;
          transition: all .3s;
          text-indent: 0;
          text-shadow: none;
          color: white;
          padding: 0;
      }
      
      .fourRowsForm input[type="submit"]:hover,
      .fourRowsForm input[type="submit"]:focus,
      .fourRowsForm input[type="submit"]:active {
          outline: none;
          background: #942662 !important;
      }
      
      @media screen and (max-width: 768px) {
          .fourRowsForm {
              flex-direction: column;
          }
          .fourRowsForm > div {
              flex: 1 0 100%;
              box-sizing: border-box;
              max-width: 100%;
              margin: 20px 0;
              padding: 0 !important;
          }
      }
  • רוב 28 אוקטובר 2024, 14:55

    מדריך נהדר, יש לך במקרה דוגמה לאיך אפשר להוסיף אייקון של Font Awesome?
    שני הקודים האלה לא עובדים

    input[type="submit"]::before{font-family:"Font Awesome 5 Free";font-weight:900; content:"\f007";}/*f30a*/
    input[type="submit"]::after{font-family:"Font Awesome 5 Free";font-weight:900; content:"\f007";}/*f30a*/
    • רועי יוסף 29 אוקטובר 2024, 16:01

      אין לי.. אתה לא יכול להשתמש ב psuedo elements על input. תוסיף קלאס לכפתור השליחה (למשל fa-submit) ונסה משהו בסגנון הבא:

      button.fa-submit {
        font-family: Arial, sans-serif; /* Specify the font-family for the button text */
        position: relative; /* Needed for pseudo-element positioning */
      }
      
      button.fa-submit::before, 
      button.fa-submit::after {
        font-family: "Font Awesome 5 Free";
        font-weight: 900; 
        position: absolute; /* Position the icons relative to the button */
        top: 50%; /* Center vertically */
        transform: translateY(-50%); /* Ensure exact centering */
      }
      
      button.fa-submit::before {
        content: "\f007"; /* Change the content value if you want a different icon */
        left: 10px; /* Space from the left */
      }
      
      button.fa-submit::after {
        content: "\f007"; /* Change the content value if you want a different icon */
        right: 10px; /* Space from the right */
      }
      • רוב 4 נובמבר 2024, 15:28

        תודה, אני אנסה. מעניין למה הקוד שלי לא עבד, בדרך כלל הוא עובד.

  • אריה וסרמן 2 דצמבר 2024, 13:25

    היי. ראשית תודה על הסבר מקיף ומלמד. ערכתי טופס Contact Form 7. אבל ברירת המחדל של כל השדות שלי הם משמאל לימין. יש אפשרות לקבל קוד CSS שהתבנית תהיה כתובה מימין לשמאל כולל ראשי פרקים ותוכן? תודה מראש על עזרתך

    • רוב 2 דצמבר 2024, 14:12

      באופן כללי צריך את הקוד הזה בשביל הטקסט של שמירת מקום

      input::placeholder{direction:rtl;text-align:right;}

      בשביל טקסט שמכניסים

      input{direction:rtl;text-align:right;}

      אפשר גם לסייג למשל כמו

      input[type="text"]{direction:rtl;text-align:right;}

      ואז זה עובד רק שדה של טקסט (לא מייל ולא טלפון)

השאירו תגובה

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

Savvy WordPress Development official logo