יש לכם שאלה? מעוניינים בהצעת מחיר? צרו קשר:

יצירת תבנית בת (Child Theme) בוורדפרס

נכתב ע"י יוחאי ירמיהו 10 תגובות

כאשר אנחנו מעדכנים תבנית בוורדפרס העדכון יחליף את קבצי התבנית הקיימת וימחק את השינויים שעשינו באתר. תבנית בת (Child Theme) נותנת פתרון לבעיה בכך שהיא מאפשרת ליצור תיקייה חדשה שמכילה רק את הקבצים שעשינו בהם שינויים, כך שעדכון התבנית לא ישפיע על הקבצים עם השינויים.

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

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

הרשמה לרשימת תפוצה:

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

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

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

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

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

תיקייה של תבנית בת בוורדפרס

אם לא קיבלת עם התבנית תיקייה של תבנית הבת אז תוכלו ליצור אותה בעצמכם. על מנת ליצור תבנית בת (Child Theme) תצטרכו להיכנס לשרת האחסון של האתר שלכם וליצור תיקייה חדשה.

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

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

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

כך שאם שם התיקייה של התבנית הנוכחית הוא yydevelopment-wordpress תקראו לתיקייה החדשה בשם yydevelopment-wordpress-child.

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


/*
Theme Name: Theme Name For Admin Panel
Template: current-theme-folder-name
*/

@import url("../current-theme-folder-name/style.css");


במקום “Theme Name For Admin Panel” תגדירו את שם התבנית שאתם רוצים שתופיע באזור ניהול. בדרך כלל נהוג להוסיף את המילה Child לשם של התבנית. כך שאם שם התבנית היא YYDevelopment WordPress אפשר לשנות אותה לשם הבא YYDevelopment WordPress Child.

במקום “current-theme-folder-name” תכניסו את השם התיקייה של התבנית שלה אתם רוצים להוסיף תבנית בת. אם שם התיקייה של התבנית הפעילה הוא yydevelopment-wordpress אז תגדירו את השם הזה בשורה של Template ובשורה האחרונה של הקוד.

ניתן לראות מתחת איך הקוד אמור להופיע בתוך הקובץ style.css לאחר שביצעתם את השינויים:


/*
Theme Name: YYDevelopment WordPress Child
Template: yydevelopment-wordpress
*/

@import url("../yydevelopment-wordpress/style.css");


בנוסף לקובץ style.css מומלץ להעתיק מהתיקייה של התבנית המקורית את הקובץ screenshot לתוך התיקייה של תבנית הבת שיצרתם. קובץ זה בעצם מכיל את צילום המסך של התבנית שמופיע בתוך אזור הניהול של וורדפרס. זה לא חובה להעתיק את הקובץ אבל זה יאפשר לזהות את התבנית בצורה קלה יותר מתוך אזור הניהול.

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

הפעלה של תבנית בת בוורדפרס

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

הערה: חשוב שהקובץ שאתם מחליפים יופיע באותו מיקום בתבנית הבת כפי שהוא מופיע בתבנית המקורית.

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

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

אל תחמיצו אף פוסט

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

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

יוחאי ירמיהו
יוחאי ירמיהו

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

מאמרים נוספים בנושא וורדפרס:

שימוש בתבניות וורדפרס

מדריך המסביר כל מה שאתם צריכים לדעת על מנת להשתמש בתבניות וורדפרס באתר שלכם.

יצירת עמודים בוורדפרס

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

יצירת פוסטים בוורדפרס

מדריך המסביר איך לנהל בלוג בוורדפרס ואיך לערוך וליצור פוסטים חדשים עבור הבלוג.

עבודה עם תפריטי וורדפרס

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

עבודה עם Plugins בוורדפרס

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

גיבוי ושחזור אתר וורדפרס

במדריך הבא תוכלו ללמוד כיצד לבצע גיבוי לאתר שלכם ואיך לשחזר אותו במידת הצורך.

יש לכם שאלות או משהו להוסיף? שתפו אותנו בתגובות מתחת!

אנחנו תמיד שמחים ללמוד דברים חדשים ולסייע לגולשים באתר שלנו. אם יש לכם שאלות או משהו להוסיף נשמח לשמוע מכם.

10 תגובות

  1. יצרתי תבנית בת באתר שלי לפי המדריך שלך והאתר עכשיו מוצג בצורה מוזרה.
    אני חושבת שזה לא טוען את הקובץ RTL מהתבנית המקורית. מה אני יכולה לעשות כדי לתקן את זה?

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

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

      אז מה שאת צריכה לעשות זה פשוט להוסיף שורה נוספת של import עם הכתובת של הקובץ rtl.css (את צריכה לשנות את current-theme-folder-name לתיקייה שבה הקובץ נמצא).

      @import url(“../current-theme-folder-name/rtl.css”);

  2. אני צריך להשתמש באותם קלאסים של תבנית האב או שאני יכול לעשות משלי?

    1. שלום חיים,
      כשאתה אומר קלאסים אתה מתכוון ל-Class של עיצוב באמצעות CSS?

      במידה וכן אז עדיף להשתמש ב-Class של תבנית האב ולעקוף את העיצוב המקורי באמצעות הקובץ css החדש שאתה יוצר בתבנית הבת (לפעמים תצטרך להשתמש ב-important! בקובץ css בשביל שתוכל לעקוף את השינויים).

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

      1. וזו המטרה של תבנית בת?
        או שהמטרה שלה רק כדי לשמור על העיצובים שאני עושה בשאר האתר?

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

        1. המטרה של תבנית הבת היא לאפשר לך לשמור את השינויים שביצעת בתבנית כאשר אתה מעדכן את התבנית המקורית.

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

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

  3. למה כשאני עושה import ל header הוא לא קורא אותו?

    תודה רבה רבה

    1. שלום חיים.
      הפקודה import היא פקודה לייבוא של קבצי css ולא לייבוא של קבצים אחרים.

      במקרה של header.php אתה לא צריך לעשות לו import. אתה צריך פשוט להעתיק את הקובץ לתיקייה של תבנית הבת שיצרת והוא אמור להחליף את הקובץ header.php מהתיקייה של התבנית המקורית.

      כך שברגע שאתה עושה שינויים לקובץ header.php בתבנית הבת השינויים אמורים להשפיע על האתר.

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

        1. שאלה שקשה לענות עליה.

          יש הרבה ביקוש לבניית אתרים, הבעיה היא שגם יש הרבה מאוד היצע (הרבה תחרות בשוק).

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

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

          בהצלחה

כתיבת תגובה

מלאו את כל השדות על מנת להשאיר תגובה (האימייל שלכם לא יוצג באתר).

היי שמי יוחאי, אם יש לך שאלה הקשורה לאחד מהשירותים שיש לנו להציע ניתן לשאול אותה כאן ואשמח לסייע יוחאי ירמיהו

זמינים בוואטסאפ: 073-7514909
כלי נגישות