Saya mengajukan pertanyaan ini karena saya mencari di internet tetapi tidak dapat menemukan solusi yang tepat. Sebenarnya saya ingin solusi di mana banyak pengembang dapat bekerja pada proyek wordpress tunggal tanpa membuat kekacauan satu sama lain bekerja, tetapi seperti yang kita tahu bahwa di wordpress setiap hal dikelola dalam database seperti plugin mana yang aktif dan mana yang tidak.
Jika pengembang menginstal plugin ke proyek lokal mereka daripada bagaimana mereka berkomunikasi satu sama lain sehingga setiap orang harus menginstal plugin atau plugin tertentu itu, dan beberapa miskomunikasi dapat merusak situs orang lain jika setiap pengembang mendorong / menarik kode.
Haruskah kita berbagi database juga, untuk berbagi pengaturan plugin / tema sehingga tidak boleh ada konflik atau konflik kecil antara pengembang.
Terima kasih
Jawaban:
Git untuk plugin :
composer.json
.Kemudian, gunakan Git untuk mengelola
composer.json
dan perubahan di plugin TGM.Bagian tersulit adalah menyinkronkan basis data :
Tentunya, kita harus berbagi basis data. Mengkonfigurasi ulang pengaturan / opsi plugin bukan ide yang baik.
Ada banyak plugin , baik gratis maupun premium, yang dapat membantu.
Jika Anda ingin mencoba sesuatu secara manual, gabungkan wp-cli dengan jawaban @Wyck.
sumber
Tim saya menghadapi masalah yang sama. Kami menggunakan git untuk versi kode kustom kami sendiri seperti plugin dan tema yang kami tulis. Kami menggunakan Komposer untuk mengelola dependensi seperti plugin yang tidak kami tulis. Kami memeriksa file composer.json dan composer.lock ke git untuk menjaga semua orang tetap sinkron. Setiap pengembang diharapkan untuk menarik cabang master git dan menjalankan
composer update
playpens mereka sesering mungkin agar setiap orang tetap mendapatkan informasi terbaru.Dalam database, pengembang terutama peduli tentang konfigurasi, dan kami sering menggunakan WP-CLI untuk menjaga konfigurasi tetap sinkron. Sebagai contoh, kami memiliki skrip shell yang menjalankan perintah WP-CLI untuk mengaktifkan atau menonaktifkan plugin berdasarkan per-host; beberapa plugin hanya digunakan pada host pementasan konten kami, misalnya, sehingga skrip dapat dijalankan pada host apa pun dan hanya akan mengaktifkan set yang sesuai pada host tersebut. Beberapa konfigurasi yang terlalu memakan waktu untuk skrip baru didokumentasikan dan direproduksi secara manual jika perlu.
Kami juga memiliki skrip perl yang akan sepenuhnya mengkloning database dari server pementasan konten kami ke QA atau host dev. Para dev dapat menggunakan ini secara berkala jika mereka menginginkan semua konten saat ini, meskipun itu biasanya kurang penting daripada memiliki kode dan konfigurasi. Script melakukan tugas-tugas ini:
Ada beberapa solusi yang menjanjikan untuk benar-benar versi database yang datang dengan cepat. VersionPress dan Mergebot adalah dua yang saya tahu dan mungkin ada yang lain.
Saya menulis lebih banyak detail teknis tentang bagaimana kami mengatur WordPress untuk bekerja dengan git dan Composer di blog saya. Itu perlu dijalankan dengan inti WordPress di direktori sendiri untuk membuat pemisahan bersih antara kode yang ingin kita pertahankan di git dan inti WordPress. Kami memperlakukan WordPress sendiri sebagai dependensi dan mengelolanya dengan Komposer.
sumber
Solusi terbaik yang pernah saya lihat adalah menggunakan Bedrock ( https://roots.io/bedrock/ ).
Jawaban lain untuk pertanyaan ini (Komposer, dan sesuatu untuk mengelola plugin Anda) adalah jawaban yang bagus; tetapi Bedrock menyediakan cara yang sistematis, didukung, didokumentasikan, dan terus ditingkatkan untuk melakukan ini, yang lebih disukai daripada menggulirkan milik Anda sendiri.
Juga, ingat Anda dapat memiliki lebih dari satu git repo - satu untuk tema Anda, satu untuk setiap plugin khusus yang Anda kembangkan, dan kemudian satu 'master' satu untuk instalasi Bedrock / Wordpress itu sendiri.
sumber
Jika benar-benar perlu bahwa Anda memiliki semua plugin yang sama diinstal bekerja pada tema atau plugin khusus, maka saya akan berbagi database juga.
Kami menggunakan git dan komposer untuk menjaga agar lingkungan pengembangan yang berbeda selalu terbarui. Cukup tarik perubahan terbaru dan jalankan kembali komposer dan Anda siap untuk pergi.
sumber
Untuk itu pertama-tama kita perlu memahami struktur direktori WordPress. Struktur direktori WordPress tidak ramah pengguna untuk digunakan
git
dengannya. Jadi saya akan menyarankan Anda untuk menggunakan ini dengangit
arsitektur yang dimodifikasi ramah. Tidak, tidak perlu panik. Anda tidak harus membuat ini. Ada banyak jenis boilerplate atau sistem WordPress terstruktur di luar sana. Cukup pilih salah satu dari mereka dan mulai coding.Sekarang sampai pada titik penulisan kode yang terorganisir dengan baik atau kode yang dapat dipertahankan. Kami benar-benar meletakkan kode kami di
wp-content\themes\your-theme
atauwp-content\themes\your-theme
. Jadi di sebagiangit
besar WordPress boilerplate yang ramah,wp-content
bagiannya terpisah. Dan mereka kebanyakan menarik repo WordPresscomposer
. Itu membuat proyek lengkap lebih bersih.Sinkronisasi plugin adalah bagian penting lainnya. Akan lebih baik jika Anda menginstal plugin Anda melalui
composer
. Itu membuat kode proyek jauh lebih bersih. Di sini Anda akan mendapatkan gambaran umum cara menginstal plugin WordPresscomposer
.Sekarang sampai pada bagian yang paling penting, bagaimana cara menyinkronkan basis data. Saya pikir itu bisa lebih mudah dilakukan di bawah 2 cara -
Semoga itu bisa membantu Anda.
sumber