Saya tertarik pada bagaimana orang lain mengembangkan tema dan plugin untuk WordPress. Bagi saya, editor dalam browser di panel admin tidak memotongnya. Saat ini, saya hanya menggunakan IDE dengan plugin PHP (NetBeans), menarik direktori web pengembangan saya dari server saya, mengedit di sana, mendorong untuk menguji, dan kemudian bermigrasi ke hidup.
Saya mencari bagaimana orang lain menggunakan alat pilihan mereka untuk mengelola alur kerja untuk mengembangkan, menguji, dan menggunakan tema, plugin, dan menguji versi terbaru WordPress terhadap ini sebelum ditayangkan.
Saya membuat ini sebagai wiki komunitas sehingga orang lain dapat berbagi proses pengembangan di sana. Saya tidak mengharapkan untuk menemukan jawaban yang benar di sini - proses Anda adalah milik Anda, dan saya tidak akan mengharapkan apa yang Anda lakukan untuk hanya bekerja untuk diri saya sendiri atau orang lain. Saya hanya tertarik untuk meningkatkan kemampuan saya mengembangkan plugin dan tema dengan melihat apa yang berhasil atau tidak bekerja untuk orang lain.
Pertanyaan lain di sini membahas alat perangkat lunak tertentu untuk mendukung pengembangan WordPress . Di sini, saya mencari lebih banyak proses dan metodologi yang dapat diterapkan secara independen dari alat-alat, dengan pengecualian tugas-tugas tertentu yang mungkin hanya dapat diselesaikan dalam kelompok alat tertentu.
sumber
Jawaban:
Sebagai catatan, saya terutama membuat seluruh situs Web dan plugin, dan menyebarkannya. Alur kerja saya sangat Ruby dan git-berat.
Untuk memulai proyek baru, saya memiliki skrip shell yang menangani seluruh bisnis pengaturan vhost baru dan memeriksa tag WordPress terbaru (dari repositori git kami sendiri, yang melacak svn).
Bentuk dasar dari seluruh situs Web adalah repositori git di wp-content. Itu berisi Capfile (makefile eqiuivalent capistrano) dan file konfigurasi YAML yang bersama-sama menangani penyebaran ( http://github.com/dxw/wp-capistrano ). Juga di dalam repositori itu saya menambahkan tema dan plugin sebagai sub-modul git (ya, kami juga memelihara repositori git untuk plugin pihak ketiga - kami ingin menggunakan versi terbaru yang telah kami uji secara pribadi).
Untuk temanya, saya memiliki alat / kerangka pembuatan kode ( github.com/dxw/wp-generate ). Ini berarti lebih sedikit memikirkan ke mana kode harus pergi, dan memiliki metode pemisahan alami antara View dan Model / Controller.
Saat menulis plugin, saya menggunakan mentimun / webrat untuk melakukan pengembangan berbasis tes ( github.com/dxw/cucumber-wordpress ).
Dan untuk memigrasi basis data pengembangan ke produksi, biasanya hanya kasus menyalin dump atas (WP_SITEURL dan WP_HOME ditetapkan oleh capistrano pada mesin pementasan / produksi sehingga tidak ada pencarian / ganti).
Saya tidak bisa membayangkan berapa jam saya telah menyimpan dengan skrip ini.
sumber
@ Thomas Owens Pertanyaan ini agak tumpang tindih dan menggandakan pertanyaan " Pengembangan perangkat lunak untuk tema WordPress / plugin? " Tidak yakin apakah kita harus menutup tetapi sepertinya fokusnya sedikit berbeda. Begitu...
Mac OS X
Ini adalah toolset esensial saya sekarang untuk Max OS X (selalu mencari yang lebih baik.) Catatan saya mencoba NetBeans dan menyerah. Fitur terlalu lambat dan sedikit.
Windows Vista
Ketika saya menggunakan Windows Vista, perangkat esensial saya adalah:
Penerapan Kode / Migrasi Data untuk Beralih Domain
Tidak yakin apakah ini yang Anda cari, tetapi saya mengembangkan sebuah plugin untuk memudahkan migrasi antara server dev lokal, server pengujian, dan server penempatan. Saya menulis tentang itu di sini:
Semoga ini membantu
-Mike
sumber
Ini adalah jawaban alur kerja, tidak khusus untuk IDE atau plugin.
Solusi yang bekerja sangat baik untuk pengembangan plugin adalah mulai dengan server web apache lokal dengan setiap variasi wordpress diinstal di sub-folder.
Di lokasi terpisah di luar root server lokal, simpan salinan wordpress / theme working copy Anda. Buat symlink ke trunk / tag / branch yang sesuai di folder / wp-content / plugins dari setiap variasi wordpress.
Saat mengedit plugin di IDE Anda perubahan yang Anda buat, jelas akan diwakili di setiap instalasi wordpress, sehingga menjadi mudah untuk menguji beberapa variasi wordpress.
Pada dasarnya, Anda dapat memiliki tab browser terbuka untuk setiap variasi wordpress lokal dan menguji masing-masing sambil bekerja pada satu proyek dan basis file tunggal.
Menggunakan IDE yang mendukung SVN & FTP yang perlu Anda lakukan adalah mengedit copy pekerjaan Anda dan mengkomit perubahan Anda kembali ke repositori.
Sebagai IDE Coda melakukannya untuk saya, tapi saya juga suka NetBeans dan Eclipse.
Setelah Anda senang bahwa plugin Anda berfungsi dan Anda telah melakukan perubahan itu ke repositori Anda, Anda kemudian dapat membuka proyek wordpress Anda dan mempublikasikan plugin yang diubah secara langsung ke situs langsung Anda.
sumber
Saya memiliki pengaturan yang relatif tidak rumit yang telah berkembang sejak memulai pekerjaan saya sekarang ~ 2,5 tahun yang lalu.
Mengembangkan
Saya melakukan semua pengembangan saya melalui SSH, menggunakan Vim di dalam layar GNU . Plugin Vim meliputi:
Perpecahan vertikal dan
:set hidden
sangat penting. Saya juga lebih suka terminal 256 warna ( iTerm pada Mac OS X) dengan skema warna railscasts .Kami juga telah perlahan memodifikasi dBug agar sesuai dengan kebutuhan kami. Pengganti yang bagus untuk
print_r()
danvar_dump()
ketika Anda tahu variabelnya adalah array atau objek.Menyebarkan
Saat ini saya tidak bekerja pada banyak plugin / tema publik, jadi saya tidak menguji kompatibilitas plugin dengan beberapa versi WordPress. Saya kode pada server dev dan memindahkan kode itu ke dalam produksi melalui Subversion.
sumber
Proses Pengembangan Tema WordPress
Konversi bingkai kawat Mock Flow menjadi XHTML dan CSS dasar
Masukkan XHTML ke file template master.php dan konversikan ke tag Template dan fungsi WP
Bagi master.php ke dalam berbagai file templat yaitu: header.php, index.php, sidebar.php, dan footer.php
Tuliskan kueri dan fungsi khusus yang mungkin diperlukan
Hubungkan tata letak CSS dan tambahkan
div {outline:1px solid red;}
untuk membantu mengubah tata letak4.Unggah folder Tema ke WordPress untuk pengujian dan pengembangan lebih lanjut
Alat Pengembangan WordPress
Editor kode Aptana Studio WorkPlace dengan built in FTP
Dempul
monitor ganda 1920 x 1200 dengan browser terbuka di satu dan editor kode di lain
Tablet Wacom Intuis 4
Firebug dengan Yslow dan Google Page speed
sumber
Alur kerja saya cukup sederhana. Saya mengikuti 4 lingkungan. Pengujian, Pengembangan, Pementasan dan Produksi.
Alur kerja
Saya menggunakan git untuk kontrol revisi saya; Saya mengabaikan file wp-config.php sehingga file ini tidak dapat ditimpa saat saya mendorong dan menarik melintasi lokasi yang berbeda. Saya menggunakan unfuddle sebagai repositori publik / pusat untuk mendorong dan menarik orang lain.
Ini tampaknya bekerja dengan cukup baik. Saya akan berkomitmen sesering mungkin ketika saya mengerjakan Pengujian. Setidaknya sekali sehari, jika tidak lebih, saya menyinkronkannya dengan unuddle dan meminta server Development melakukan perubahan. Saya mencoba untuk tidak melakukan pekerjaan langsung di server, jadi saya terutama hanya melakukan perubahan. Jika ada perubahan signifikan pada basis data (plugin baru, konten yang diperbarui, dll) maka saya akan membuangnya dari Pengujian saya; buat cadangan Pengembangan dan impor dump.
Saya menggunakan proses yang sama untuk Pementasan. Pementasan duduk di server yang sama dengan produksi itu memeriksa polandia dan pastikan semua pengaturan dan modul bekerja di server produksi. Ketika saya siap, saya membuat cadangan semua file produksi dan database, dan menyalin file dan database dari pementasan.
Karena wp-config.php tidak ada di git, itu membuatnya cukup mudah untuk mendorong dan menarik sesuatu. Ketika pindah ke produksi dari pementasan, saya menyalin file, dan tidak menggunakan git, jadi saya harus memastikan wp-config.php sudah benar.
Saya telah mengajukan pertanyaan serupa , dan saya akan melihat ke dalam menggunakan plugin ini.
Saya juga berpikir untuk menggunakan Capistrano; dan membuat skrip migrasi yang sangat terperinci yang akan melewati dan menangani semua file dan cadangan / migrasi basis data serta memperbarui jalur file dan URL.
Alat
sumber
Satu hal yang membantu saya (terutama ketika mengerjakan beberapa tema klien) adalah menggunakan instalasi WordPress Multisite di server dev saya. Dengan begitu, saya dapat memiliki pekerjaan terbuka sebanyak yang diperlukan, dan tidak perlu khawatir tentang tema klien A yang melihat klien B. Pasangkan ini dengan paket konten sampel komprehensif yang saya muat setiap kali saya membuat situs baru, dan Anda memiliki sistem pengembang yang luar biasa.
sumber
Saya lakukan dari in-place hacking di server dalam nyali sistem kehidupan ke siklus dev / test / stage / life yang lebih terstruktur menggunakan sistem kontrol versi dan tes otomatis. Itu hanya tergantung pada pekerjaan.
Di sebelahnya saya melaporkan bug kembali ke proyek wordpress ketika saya menimpanya.
Untuk pengembangan plugin saya mencoba untuk tidak menemukan kembali roda sepanjang waktu sehingga untuk membangun yang baru berdasarkan prinsip dan pola yang ada.
sumber
Inilah alur kerja saya:
Static
dantheme/plugin
folder diDynamic
Folder menggunakan Git.buat virtual host untuk proyek tersebut. Saya mengikuti konvensi ini:
http://project1.dev/
http://project1.static.dev (opsional)
Saya biasanya mengikuti organisasi folder ini:
Saya sadar bahwa saya belum menggunakan
build
alat pada hari ke hari, yang membuat saya merasa tidak enak.Tapi saya menggunakan alat ANT build untuk proyek Sprite2CSS saya ditambah dengan beberapa skrip PHP untuk konsumsi ANT.
Alat
Apakah saya menggunakan Windows atau Ubuntu, saya menggunakan yang berikut ini:
Saya terbuka pada saran untuk meningkatkan alur kerja saya.
sumber
Saya bekerja di Windows dengan Denver , FileZilla, Notepad ++, Firefox Firebug dan inspektur lainnya (tautan ada di atas), cPanel dan dbForge Studio untuk MySQL
sumber