يعني إيه Child Theme؟ وليه مهم في WordPress؟
لو بتستخدم WordPress لبناء موقعك، أكيد اشتغلت على قالب (Theme)، سواء مجاني أو مدفوع. لكن هل فكرت إزاي تعدل على القالب بدون ما تضيع التعديلات مع أول تحديث؟ هنا ييجي دور الـ Child Theme.
✅ إيه هو الـ Child Theme؟
Child Theme هو قالب فرعي بياخد إعداداته وتنسيقاته من قالب رئيسي (Parent Theme). الفكرة ببساطة إنك بدل ما تعدل على القالب الرئيسي مباشرة، بتعمل نسخة فرعية تعدل فيها براحتك، ولما يتحدث القالب الأساسي، تفضل تعديلاتك محفوظة.
🎯 ليه مهم تستخدم Child Theme؟
- الحفاظ على التعديلات
لما تحدث القالب الرئيسي، كل ملفاتك اللي عدلتها عليه بتضيع. لكن لو بتستخدم Child Theme، التعديلات بتفضل زي ما هي. - تنظيم الكود
بتفصل بين ملفات القالب الأصلي وتعديلاتك، وده بيخلي الكود أنضف وأسهل في التتبع والصيانة. - سهولة التطوير
تقدر تضيف ملفات CSS أو JavaScript، أو حتى تعدل ملفات PHP معينة، من غير ما تلمس ملفات القالب الأساسي. - أفضل ممارسة في ووردبريس
WordPress نفسها بتوصي باستخدام Child Themes لما تحتاج تعدل في القوالب.
شاهد أيضا: ازاى تعدل تصميم صفحة تسجيل الدخول فى الوردبريس
🛠️ إزاي تعمل Child Theme يدويًا؟
هتحتاج 3 حاجات أساسية:
1. فولدر جديد
افتح مجلد wp-content/themes
واعمل فولدر باسم زي:
غير astra لاسم القالب بتاعك
astra-child
2. ملف style.css
داخل الفولدر، أنشئ ملف style.css
وحط فيه الكود ده:
هنا هتعدل astra لاسم القالب الخاص بك
/*
Theme Name: Astra Child
Template: astra //هنا ضيف اسم المجلد الخاص بالقالب بتاعك
Author: Your Name
Version: 1.0
*/
@import url("../name/style.css"); /* في حالة بعض القوالب القديمة */
ملاحظة: كلمة
Template
لازم تبقى نفس اسم فولدر القالب الأساسي (case sensitive).
3. ملف functions.php
أنشئ ملف functions.php
في نفس الفولدر، وحط فيه الكود ده لتحميل ملفات الـ CSS من القالب الأساسي:
طبعا هنا هتعدل astra لاسم القالب الخاص بك
<?php
add_action( 'wp_enqueue_scripts', 'astra_child_enqueue_styles' );
function astra_child_enqueue_styles() {
wp_enqueue_style( 'astra-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'astra-child-style', get_stylesheet_directory_uri() . '/style.css', array('astra-style') );
}
🔽 تحميل ملفات Child Theme جاهزة
لو مش حابب تكتب الأكواد بنفسك، تقدر تحمل الملفات الجاهزة من هنا: