שיפור לתבנית child

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

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

ראשי פורומים הרעיונות שלכם שיפור לתבנית child

מוצגות 8 תגובות – 1 עד 8 (מתוך 8 סה״כ)
  • מאת
    תגובות
  • #71284

    Allon Sacks
    Participant

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

    1. שימוש בimport להביא את הcss מהבנית אם
    2. style-rtl יהיה מתחת ל child-style
    3. יש קבצי css של תוספים שמופיעים מתחת לקבצי CSS של התבנית בת

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

    function dc_deregister_scripts(){
    wp_deregister_style('pojo-style-min');
    wp_deregister_style('pojo-style-rtl-min');
    wp_deregister_style('pojo-style');
    wp_deregister_style('pojo-style-rtl');
    wp_dequeue_style('photoswipe');
    wp_dequeue_style('photoswipe-skin');
    wp_dequeue_style('pojo-builder-animation');
    wp_dequeue_style('pojo-style-min');
    wp_dequeue_style('pojo-style-rtl-min');
    }
    add_action( 'wp_enqueue_scripts', 'dc_deregister_scripts', 201 );

    function dc_enqueue_scripts(){
    wp_register_script( 'dc_custom', get_stylesheet_directory_uri() . '/custom.js', null, null, true );
    wp_register_style( 'dc_pojo-style-min', get_template_directory_uri() . '/assets/css/style.min.css', array( 'pojo-css-framework' ), null );
    wp_register_style( 'dc_pojo-child-style', get_stylesheet_directory_uri() . '/assets/css/style.css', array( 'pojo-css-framework' ), null );
    wp_register_style( 'dc_pojo-style-rtl-min', get_template_directory_uri() . '/assets/css/rtl.min.css', array( 'pojo-css-framework' ), null );
    wp_register_style( 'dc_pojo-child-style-rtl', get_stylesheet_directory_uri() . '/assets/css/rtl.css', array( 'pojo-css-framework' ), null );

    wp_enqueue_style('photoswipe');
    wp_enqueue_style('photoswipe-skin');
    wp_enqueue_style('pojo-builder-animation');
    wp_enqueue_style( 'dc_pojo-style-min');
    wp_enqueue_style( 'dc_pojo-style-rtl-min');
    wp_enqueue_style( 'dc_pojo-child-style');
    wp_enqueue_style( 'dc_pojo-child-style-rtl');
    wp_enqueue_script( 'dc_custom' );
    }
    add_action( 'wp_enqueue_scripts', 'dc_enqueue_scripts', 202 );

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

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

    תודה!

    #71326

    Ariel
    Participant

    היי

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

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

    #71331

    Allon Sacks
    Participant

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

    #71345

    Ariel
    Participant

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

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

    #71352

    Allon Sacks
    Participant

    זה לא ויכוח…
    פשוט מאוד, אם משתמשים ב@import אז באתרים של http2 אתה מפסיד את האפשרות להוריד כמה קבצים בו זמנית.
    באתרים על http1 עדיין יש בעיות ובעיקר שמדובר בכל מה שקשור למיניפיקציה וקומבינציה של קבצים. קיצר לא סתם לא משתמשים בזה אבל תאמין מה שתאמין.
    הבעיה היותר גדולה שאני מדבר עליה זה סדר הקבצים. חשוב שהקצי CSS בChild theme יעלו אחרונים ושיהיה קל להוסיף לשם קוד שתמיד יקבל עדיפות על כל שאר הקלאסים.
    זה חייב לבוא אחרי כל התוספים וגם אחרי כל מה שקשור לrtl כרגע זה ככה:
    theme/style
    child/style
    theme/rtl
    child/rtl
    plugins

    זה צריך להיות ככה:
    plugins
    theme/css
    theme/rtl
    child/css
    child/rtl

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

    #71354

    Allon Sacks
    Participant

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

    Loading parent styles for child themes

    שים לב לפסקה
    ״it is the newer practice promoted on WordPress.org. This method promotes good dev practice by not using @import. Instead, it uses PHP to load the styles via the child theme’s functions.php file as shown in the following code.״

    #71357

    Ariel
    Participant

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

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

    תודה רבה

    #71383

    Allon Sacks
    Participant

    בכיף, אל תשכחו גם לגבי הסדר של קבצי הילד תמיד אחרי האב ללא RTL באמצע 😉

מוצגות 8 תגובות – 1 עד 8 (מתוך 8 סה״כ)

הפורום 'הרעיונות שלכם' נסגר לדיונים ולתגובות חדשות.