Child Theme یه پوسته فرزنده که از یه Parent Theme ارث میگیره. تغییرات شما در Child ذخیره میشن و آپدیت Parent چیزی رو خراب نمیکنه.
چرا Child Theme؟
حفظ تغییرات: با آپدیت Parent
Safe Development: تست بدون خطر
Version Control: Git-friendly
Modularity: تفکیک تغییرات
ساختار Child Theme
wp-content/themes/mytheme-child/
style.css
functions.php
screenshot.png
style.css
/*
Theme Name: MyTheme Child
Template: mytheme
Version: 1.0.0
*/
Template اسم Parent هست.
functions.php
<?php
add_action('wp_enqueue_scripts', function() {
wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
wp_enqueue_style('child-style', get_stylesheet_uri());
});
Activate
Appearance → Themes → Activate Child Theme.
Override Template
فایل header.php رو در Child کپی کنید. تغییر بدید. Child اولویت داره.
Custom Functions
در functions.php بذارید:
add_action('init', function() {
// کد شما
});
Custom CSS
در style.css بذارید. جایگزین CSS اصلی میشه.
Custom JS
در Child JS بذارید:
wp_enqueue_script('child-js', get_stylesheet_directory_uri() . '/js/custom.js');
Override Function
اگه Parent function رو با function_exists check کرده:
if (!function_exists('parent_function')) { ... }
Custom Post Type
در Child بسازید تا با تغییر تم گم نشه.
Hooks
add_action، add_filter در Child بذارید.
Full Site Editing (FSE)
در FSE Themes، Child Theme متفاوته:
templates/
parts/
theme.json
theme.json Override
در Child یه theme.json بذارید که Parent رو Override کنه.
Debug
WP_DEBUG رو true کنید. خطاها رو ببینید.
پلاگینهای Child Theme
Child Theme Configurator: خودکار
WPS Child Theme Generator: ساده
Version Control
Child Theme رو Git کنید. تیم و بکآپ.
Migration
Child رو با یه پلاگین Export/Import منتقل کنید.
Common Issues
Parent Style لود نمیشه
functions.php رو چک کنید. wp_enqueue_style درسته؟
Child تغییری نمیده
Cache pak کنید.
Broken Theme
Template در style.css درسته؟ اسم Parent؟
Custom Widget
در Child ثبت کنید:
register_widget('MyWidget');
Menu
register_nav_menu('main-menu', 'Main Menu');
Best Practices
Comment کد: چرا تغییر دادید
Version: مدیریت
Backup: قبل تغییر
Test: Staging
Frameworks
Genesis: Child theme محبوب
Astra: Child theme پیشفرض
GeneratePress: قابل تنظیم
سباهاست
هاست وردپرس سباهاست از Child Theme پشتیبانی کامل داره.
جمعبندی
Child Theme اصولیترین راه سفارشیسازی تم وردپرسه. با ساخت درست، سفارشیسازی امن و پایدار داشته باشید.