WordPress Website ควรใช้ Git เพื่อจัดการ Theme และ Plugin ได้อย่างมีประสิทธิภาพ การใช้ Version Control ช่วยให้ทีมสามารถทำงานร่วมกัน ติดตามการเปลี่ยนแปลง และ Deploy Code ไปยัง Production ได้อย่างปลอดภัย
WordPress .gitignore
ไฟล์ .gitignore สำหรับ WordPress Project:
# WordPress core
wp-admin/
wp-includes/
wp-*.php
readme.html
license.txt
# Configuration
wp-config.php
wp-config-local.php
.env
# Uploads
wp-content/uploads/
wp-content/cache/
# Third-party plugins (uncomitted)
wp-content/plugins/*
!wp-content/plugins/.gitkeep
!wp-content/plugins/custom-plugin/
# Third-party themes (uncomitted)
wp-content/themes/*
!wp-content/themes/.gitkeep
!wp-content/themes/custom-theme/
# Local
node_modules/
.DS_Store
*.log
สิ่งที่ควร Commit
- Custom Theme ที่คุณพัฒนา
- Custom Plugin ที่คุณพัฒนา
- wp-config.php ท้องแบบเทมเพลต (หรือไม่ commit)
- package.json และ composer.json
- Build Scripts และ Deploy Scripts
สิ่งที่ไม่ควร Commit
- WordPress Core Files (wp-admin, wp-includes)
- wp-config.php (ไฟล์จริง)
- Uploads Directory (ไฟล์ที่อัปโหลด)
- Third-party Plugins (ที่ดาวน์โหลดจาก Repository)
- .env Files (Environment Variables)
- Database Backups
Deployment Workflow
Workflow สำหรับ Deploy WordPress Theme หรือ Plugin:
1. Clone Repository
git clone https://github.com/yourrepo/wordpress.git
2. Create Feature Branch
git checkout -b feature/new-feature
3. Make Changes
# Edit theme or plugin files
4. Commit Changes
git add .
git commit -m "Add new feature"
5. Push to Remote
git push origin feature/new-feature
6. Create Pull Request
# Review and merge on GitHub/GitLab
7. Deploy to Production
# Automatic or manual deployment via SSH
git pull origin main
Bedrock และ Trellis Approach
Bedrock เป็น Modern WordPress Boilerplate ที่ใช้ Composer สำหรับจัดการ Dependencies:
├── web/
│ ├── wp/ (WordPress core)
│ └── app/
│ ├── plugins/ (Custom plugins)
│ └── themes/ (Custom themes)
├── composer.json
├── .env.example
└── config/
└── environments/
Child Theme Development
เมื่อพัฒนา Child Theme สำหรับ WordPress:
wp-content/themes/
├── parent-theme/ # Don't edit or commit
└── custom-child-theme/
├── functions.php
├── style.css
├── template-parts/
└── assets/
├── css/
├── js/
└── images/
Best Practices
- ใช้ Semantic Versioning สำหรับ Theme และ Plugin
- เขียน README.md สำหรับการติดตั้ง
- ใช้ Git Tags สำหรับ Release Versions
- ทดสอบบน Staging Environment ก่อน Production
- เก็บ Database Schema ไว้ใน Version Control
การใช้ Git กับ WordPress ช่วยให้ Team Development มีประสิทธิภาพและปลอดภัยมากขึ้น
