Search

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

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

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

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

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

מדוע כדאי להשתמש בתבניות בת?

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

לטובת עדכונים

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

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

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

לטובת ארגון וסדר בקוד

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

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

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

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

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

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

דריסת קובץ תבנית (template file) באמצעות תבנית בת

נאמר ואתם רוצים לבצע שינויים בקובץ מסויים הקיים בתבנית האב, נאמר הקובץ header.php. כל שעליכם לעשות הוא להעתיקו לתיקייה הראשית של תבנית הבת ומרגע זה ואלך הקובץ שייטען הוא זה הקיים בתבנית הבת.

שימו לב – מדובר על קבצי תבנית בלבד (Template Files) ולא על נכסים כמו קבצי CSS וקבצי Javascript למשל…

כעת באפשרותכם לבצע שינויים כמה שתרצו להאדר של התבנית שלכם באמצעות שינוי הקובץ header.php בתבנית הבת, וזאת כאשר הקובץ המקורי של תבנית האב יישאר ללא שינוי.

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

אז ניתן לדרוס בצורה זו כל קובץ תבנית (Template File) הקיים בתיקייה הראשית של תבנית האב. אך מה אם אתם מעוניינים לדרוס קובץ שאינו קיים בתיקייה הראשית אלא בתיקיית משנה כלשהי?

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

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

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

דריסת פונקציה בתבנית אב באמצעות תבנית בת

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


אז איך ליצור תבנית בת בוורדפרס?

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

  • ליצור תיקייה לתבנית הבת תחת תיקיית התבניות – בד״כ /wp-content/themes.
  • ליצור קובץ עיצוב בשם style.css המכיל את האינפורמציה על תבנית הבת שלכם.
  • לגרום לתבנית הבת לטעון את קובץ העיצוב של תבנית האב.
  • לטעון את קובץ העיצוב של תבנית הבת לאחר שקובץ העיצוב של תבנית האב נטענה.

שלב א' – יצירת תיקייה לתבנית הבת

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

שלב ב' – יצירת הקובץ style.css של תבנית הבת

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

/*
Theme Name: Your Child Theme Name
Template: parent-theme-folder
*/

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

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

שלב ג׳ – יצירת functions.php וטעינת קובץ העיצוב של תבנית האב

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

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

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

<?php
function savvy_child_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}

add_action( 'wp_enqueue_scripts', 'savvy_child_styles' );

שלב ד׳ – טעינת קובץ העיצוב של תבנית הבת

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

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


<?php
function savvy_child_styles() {
	wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css');
	wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', 'parent-style');
}

add_action( 'wp_enqueue_scripts', 'savvy_child_styles' );

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

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

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

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

כיצד להוסיף תמיכה בעברית (RTL) לתבנית בת?

בכדי לשמור על תמיכה ב RTL בתבנית צרו קובץ בשם rtl.css בתיקייה הראשית של תבנית הבת והוסיפו לקוד המדובר ב functions.php את השורה הבאה:

wp_enqueue_style( 'child-style-rtl', get_stylesheet_directory_uri().'/rtl.css' );

שימו לב – אם קיים קובץ rtl.css בתבנית האב פשוט העתיקו אותו לתיקיית תבנית הבת.

במידה והאתר שלכם מוגדר כ RTL, במילים אחרות – אם הפונקציה ()is_rtl מחזירה true הקובץ rtl.css אם קיים בתבנית הבת ייטען בצורה אוטומטית.

סיכום

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

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

אתם מוזמנים אגב להוריד את תבנית הבת שיצרנו בקישור זה, אך שימו לב לשנות את הקוד בקובץ style.css בהתאם לשם תיקיית תבנית האב שלכם. אם יש לכם טיפים לגבי תבניות בת אשמח אם תשתפו אותם איתנו, כתמיד אתם מוזמנים להגיב ולדבר… 🙂

רועי יוסף
רועי יוסף

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

66 תגובות...
  • ליאור 27 יוני 2015, 22:55

    תודה! עשה לי סדר בראש!

  • שלומי כהן 16 יולי 2015, 7:21

    אחלה מאמר!
    תודה רבה. בהחלט גרם לי לא לפחד מיצירת תבנית בת.

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

    • מנהל מערכת 17 יולי 2015, 20:00

      היי שלומי, תודה על התגובה !

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

      בהצלחה !

  • הראל 31 יולי 2015, 8:36

    רועי, תודה. אבל לא הבנתי לאיפה אני מעלה את הקובץ ? לוורדפרס או לשרת אחסון ?

  • רימון 19 ינואר 2016, 13:12

    שלום לך,

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

    תודה רבה. רימון

  • Michael 22 מאי 2016, 11:25

    כדאי להוסיף בקובץ הפונקציות..

    // Exit if accessed directly
    if ( !defined('ABSPATH')) exit;
  • יוסי 9 אוגוסט 2016, 21:46

    תודה רבה! עזרת לי בעיקר עם ה RTL.

  • שרון 6 אוקטובר 2016, 18:26

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

    • רועי יוסף 13 אוקטובר 2016, 7:04

      היי שרון,
      (סליחה על התגובה המאוחרת).. האם קיים קובץ rtl.css באותו מיקום של style.css בתבנית הראשית ?

  • vicky 3 ינואר 2018, 9:48

    שלום רועי,

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

    • רועי יוסף 3 ינואר 2018, 12:33

      היי ויקי 🙂

      תמיד ניתן לבצע את המעבר הזה כל עוד את יודעת מהם השינויים שביצעת במדיוק ולהעביר אותם לתבנית בת…

  • זמיר 7 פברואר 2018, 20:13

    היי רועי
    האם לא כדאי להשתמש פשוט Custom css שמגיע כחלק מהתבנית?
    מה הערך המוסף של תבנית בת על פני אפשרות זו?

    • רועי יוסף 7 פברואר 2018, 20:22

      היי זמיר 🙂

      הערך של תבנית בת היא מעבר ליכולת לערוך את ה CSS. מעבר לכך, הרבה יותר נוח למפתחים לעבוד מול ה IDE המועדף עלייהם מאשר לשנות את הקוד בלוח הבקרה של וורדפרס, בדיוק כמו שנוח יותר לערוך את functions.php או כל קובץ אחר ב IDE מסודר. מה גם שבמידה ונדפק מסד הנתונים, מכל סיבה שהיא, ה Custom CSS של התבנית יימחק.

      עריכה של קוד צריכה להתבצע ב IDE כגון PhpStorm מהרבה מאד סיבות…

  • אליאור 27 אפריל 2018, 15:23

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

    • רועי יוסף 27 אפריל 2018, 15:30

      היי אליאור,

      בצע חיפוש בבלוג ל״הוספת נכסים״ ותמצא מדריך מפורט על הוספת קבצי css ו javascript באתרי וורדפרס… אני פשוט לא מול מחשב בשביל לשלוח לך לינק..

      • אליאור 27 אפריל 2018, 19:00

        רועי יא גבר, הבנתי בסוף מה שאלתי אותך חח , משהו אחרון לגבי התבנית בת –

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

        • אליאור 27 אפריל 2018, 19:01

          והאם צריך לסגור את קובץ ה PHP או להשאירו בדיוק כמו במדריך?

          • רועי יוסף 27 אפריל 2018, 19:14

            התבנית פשוט תופיע בלוח הבקרה של וורדפרס אך צריך להפעיל אותה. אין צורך לסגור את קובץ ה PHP….

  • אליאור 28 אפריל 2018, 20:19

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

  • אליאור 28 אפריל 2018, 20:55

    אחרי שני ניסיונות מקבל את השגיאה הבאה שמופיעה לי בעמוד התחתון של ה Themes בוורדפרס:

    Broken Themes
    The following themes are installed but incomplete.
    Name	Description		
    OceanWP Child	The parent theme is missing. Please install the "OceanWP" parent theme.
    

    יש פתרון לזה?

    • רועי יוסף 28 אפריל 2018, 22:52

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

  • שלי 15 יולי 2018, 1:25

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

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

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

    • רועי יוסף 16 יולי 2018, 16:43

      היי שלי 🙂

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

  • חיים 21 נובמבר 2018, 21:39

    אומר לי שהתבנית אם לא תבנית אם תקינה

    • רועי יוסף 21 נובמבר 2018, 21:49

      שם התבנית בקובץ style.css של תבנית הבת אינו תקין. שים לב שאתה מגדיר Template: parentname כאשר prentname הוא שם התיקייה של תבנית האב.

  • שירה 28 נובמבר 2018, 11:03

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

    התבניות מקולקלות. התבניות הבאות מותקנות אך הן לא שלמות.

    שם תיאור
    knowall-child התבנית חסרה. תבניות צריכות להכיל את הקובץ index.php. תבנית בת צריכה להכיל כותרת-תבנית בקובץ style.css.

    פירוט כל מה שעשיתי:

    שם תיקיית תבנית האב: knowall
    שם תיקיית תבנית הבת: knowall-child

    בתוך תיקיית תבנית הבת קובץ functions שבו הקוד:

    <?php 
    function enqueue_parent_styles() {
        wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
        wp_enqueue_style( 'rtl-style', get_template_directory_uri().'/rtl.css' );
    }
    
    add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
    

    קובץ style שבו הקוד:

    /*
    Theme Name: KnowAll Child
    Theme URI: http://mywebsite.co.il/
    Template: knowall
    Author: My Name
    Author URI: http://mywebsite.co.il/
    Version: 1.0
    */
    
    • רועי יוסף 28 נובמבר 2018, 22:36

      היי שירה,

      היכן יושב הקובץ style.css בתבנית הבת, האם הוא בתיקייה הראשית של התבנית או בתיקייה אחרת?

      • שירה 28 נובמבר 2018, 23:36

        בתבנית הבת אין תיקיות, יש רק 2 קבצים כמו שכתבתי – functions, style
        בתבנית האם style.css נמצא בתיקייה שנקראת css (ז"א שהנתיב שלה הוא css/style.css)
        תודה!

        • רועי יוסף 28 נובמבר 2018, 23:40

          הקובץ style.css בתבנית האם חייב להיות בתיקייה הראשית. מה גם שלפי הקוד שכתבת בתגובה, את מנסה לקרוא לקובץ זה מהתיקייה הראשית ולא מתיקייהת css.

          • שירה 29 נובמבר 2018, 0:50

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

            • רועי יוסף 29 נובמבר 2018, 1:11

              אפשר ליצור כמובן, אך תדאגי בתור התחלה שקובץ ה CSS יהיה בתקייה הראשית של תבנית הבת.

  • יוסי 29 נובמבר 2018, 15:08

    מי שמסתבך עם היצירה של תבנית בת, יכול ליצור את זה בקלות דרך האתר הזה – https://childtheme-generator.com/create-child-theme

  • ענת 26 מאי 2019, 10:13

    הי רועי,

    האם החלה של תבנית בת על אתר קיים אפשרית, כל עוד לא עשיתי שינוי בקוד של התבנית לפני כן?

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

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

    גם כך בינתיים אני לא הולכת לשנות משהו בקוד.
    תודה מראש 🙂

    • רועי יוסף 26 מאי 2019, 13:27

      היי ענת 🙂

      אכן – תבנית בת רלוונטית רק במידה ואת עושה שינויים ברמת הקוד. אם אינך עושה, את יכולה להתחיל לבחון את התבנית hello ולהפעיל את תבנית הבת אחר כך…

  • שני 12 יוני 2019, 21:04

    היי רועי, האם יש דרך להעביר את כל השינויים שכבר ביצעתי בתבנית האב לתבנית הבת, בלי לעבור הגדרה הגדרה ולשנות ידנית? כי כרגע אחרי שיצרתי תבנית בת ועשיתי תצוגה מקדימה, כל ההגדרות שביצעתי בתבנית נמחקו. ובתבנית oceanwp יש כ"כ הרבה הגדרות ואפשרויות שלעבור אחת אחד זה בלתי אפשרי…

    • רועי יוסף 13 יוני 2019, 8:01

      היי שני,

      ההגדרות ששינית ברמת התבנית (כלומר דרך ממשק הניהול של וורדפרס) אמורות להשאר זהות כשאת מפעילה את תבנית הבת ובמידה ותבנית הבת היא תבנית הבת של OceanWP.

  • חנה 3 אוקטובר 2019, 20:43

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

    • רועי יוסף 4 אוקטובר 2019, 12:28

      היי חנה,

      האם זו תבנית בת שאת יצרת או תבנית בת שהגיעה עם התבנית עצמה?

  • עמית קאופמן 14 דצמבר 2019, 13:32

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

    • רועי יוסף 15 דצמבר 2019, 10:05

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

  • רועי 29 מרץ 2020, 17:06

    הי רועי.
    האם אפשר לעשות עדכון לתבנית מבלי לפגוע בכל השינויים שנעשו שם?
    *נעשו הרבה שינויים בתבנית, ולא השתמשתי בתבנית בת

    • רועי יוסף 29 מרץ 2020, 17:43

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

      • ברית 3 יוני 2020, 0:13

        שלום רועי,

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

        תודה רבה

        • רועי יוסף 3 יוני 2020, 2:00

          היי ברית, זה לא ייתן לך כלום מכיוון וקבצי ה CSS ייטענו פעמיים…

  • אבנ 29 יוני 2020, 17:27

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

    • רועי יוסף 2 יולי 2020, 1:48

      היי,

      עלייך להפעיל את תבנית הבת ולהמשיך לעבוד כרגיל…

  • חלומי 24 נובמבר 2020, 21:26

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

  • חיים 25 ינואר 2021, 19:55

    2 שאלות:

    1. האם צריך ב function.php לכתוב את שם התבנית שיצרתי במקום ה- savvy_child_styles?
    2. האם צריך להפעיל את התבנית בממשק הניהול של וורדפרס או שמספיק שהקובץ כתוב במנהל הקבצים?

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

    תודה רבה!

    • רועי יוסף 25 ינואר 2021, 20:33

      היי חיים, ברוך הבא לעולם הפיתוח 🙂

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

      בהצלחה!

      • חיים 28 ינואר 2021, 8:33

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

        תודה רבה!

        • רועי יוסף 13 פברואר 2021, 11:03

          כנראה שעשית משהו לא נכון.. האם מצאת את הבעיה?

        • רועי יוסף 15 פברואר 2021, 13:49

          היי חייים, עלינו על הבעיה – לא הוספתם את תגית ה PHP הפותחת. חשבתי שזה ברור… תיקנתי את הפוסט בהתאם 🙂

  • רוני 15 פברואר 2021, 12:30

    הי! גם לי זה קרה… הופיע לי כיתוב לבן בראש העמוד…

    • רועי יוסף 15 פברואר 2021, 13:49

      היי רוני, עליתי על הבעיה בזכותך – לא הוספתם את תגית ה PHP הפותחת. חשבתי שזה ברור… תיקנתי את הפוסט בהתאם

      • רוני 15 פברואר 2021, 14:25

        אה חח ממש עשיתי כמו תוכי. אליפות, תודה רבה!

        • רועי יוסף 15 פברואר 2021, 14:27

          תענוג 🙂 בהצלחה..

          • רוני 18 פברואר 2021, 11:09

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

            • רועי יוסף 18 פברואר 2021, 16:55

              אני לא מכיר מספיק טוב את אלמנטור בכדי לענות לך…

  • עדי 25 מרץ 2021, 15:13

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

    • רועי יוסף 2 אפריל 2021, 9:45

      היי עדי,

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

  • חיים 19 ספטמבר 2023, 21:09

    תודה על מאמר מעולה ומועיל!

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

    שוב תודה!

    • רועי יוסף 19 ספטמבר 2023, 21:29

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

      • חיים 19 ספטמבר 2023, 23:26

        תודה על התגובה המהירה…

        • חיים 11 אוקטובר 2023, 23:55

          היי,
          האם אפשר לבצע שינויים והתאמות בקבצי css של התבנית דרך תבנית הבת, או שמדובר רק על קבצי php? ובמידה וכך, מה הדרך המומלצת להתאים קצת css?

תגובה חדשה

ניווט מהיר

Up!
לבלוג