it-swarm-id.com

Proses apa yang Anda gunakan untuk pengembangan WordPress?

Saya tertarik pada bagaimana orang lain mengembangkan tema dan plugin untuk WordPress. Bagi saya, editor dalam peramban di panel admin tidak memotongnya. Saat ini, saya hanya menggunakan plugin IDE dengan PHP (NetBeans), menarik direktori web pengembangan saya dari server saya, mengedit di sana, mendorong untuk menguji, dan kemudian bermigrasi untuk 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 benar tunggal 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 khusus 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.

37
Thomas Owens

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 tema, saya memiliki alat/kerangka kerja pembuatan kode ( github.com/dxw/wp-generate ). Ini berarti kurang 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.

20
tomdxw

@Thomas Owens Pertanyaan ini agak tumpang tindih dan menggandakan pertanyaan " Perangkat lunak untuk pengembangan tema/plugin WordPress? ." 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 pada Windows Vista toolset 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

6
MikeSchinkel

Ini adalah jawaban alur kerja, bukan khusus untuk IDE atau plugin.

Solusi yang bekerja sangat baik untuk pengembangan plugin adalah mulai dengan server web Apache lokal dengan setiap variasi wordpress dipasang di sub-folder.

Di lokasi terpisah di luar root server lokal, simpan salinan wordpress/theme yang berfungsi. Buat symlink ke trunk/tag/branch yang sesuai di folder/wp-content/plugins dari setiap variasi wordpress.

Saat mengedit plugin di IDE Anda yang Anda buat, jelas akan ditampilkan 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 menerbitkan plugin yang diubah secara langsung ke situs langsung Anda.

5
leetagg

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 inside GNU screen . Plugin Vim meliputi:

Perpecahan vertikal dan :set hidden sangat penting. Saya juga lebih suka terminal 256 warna ( iTerm pada Mac OS X) dengan skema railscasts warna.

Kami juga telah perlahan memodifikasi dBug sesuai dengan kebutuhan kami. Pengganti yang bagus untuk print_r() dan var_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.

3
Annika Backstrom

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 templat 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 Tweak 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

3
Chris_O

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 ditimpa saat saya Push dan tarik melintasi lokasi yang berbeda. Saya menggunakan unfuddle sebagai repositori publik/pusat bagi orang lain untuk mendorong dan menarik.

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 Dorong dan tarik benda-benda. Ketika pindah ke produksi dari pementasan, saya menyalin file, dan tidak menggunakan git, jadi saya harus memastikan wp-config.php sudah benar.

Saya telah menanyakan simliar question , 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

  • Textmate untuk editor saya, meskipun saya mulai menggunakan MacVim. Saya menggunakan vim ketika di linux.
  • Sequel Pro untuk manipulasi basis data. Jika saya tidak bisa terhubung dengannya saya akan menggunakan PHPMyAdmin
  • Kirim untuk FTP jika saya membutuhkannya.
  • git untuk kontrol revisi. Sebagian besar berdasarkan baris perintah, meskipun saya telah menggunakan klien di Textmate dan GittiApp sedikit.
3
Ryan Gibbons

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.

1
Keith S.

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 menabrak mereka.

Untuk pengembangan plugin saya mencoba untuk tidak menemukan kembali roda sepanjang waktu sehingga untuk membangun yang baru berdasarkan prinsip dan pola yang ada.

0
hakre

Inilah alur kerja saya:

  • Saya mulai dengan membuat direktori proyek segera setelah saya mendapatkan persyaratan dan desain situs web.
  • versi folder Static dan theme/plugin di Dynamic Folder menggunakan Git.
  • buat Host virtual untuk proyek. Saya mengikuti konvensi ini:

    http://project1.dev/

    http://project1.static.dev (opsional)

  • Saya biasanya mengikuti organisasi folder ini:

    Projects
           Project1Name
                       Docs //Requirements docs, emails, other related documents. 
                            //This directory may contain directories with  names as dates
                            //(e.g 2014-01-01) to stay super organized :)    
                       Designs //All PSDs go here  
                       Data  //Database backup for the project,
                       Site
                           Dynamic //WordPress generally
                           Static //I don't always create a static version. I did a couple  
                                  //of times in the past. I use the same structure inside
                                  //the theme or plugin I'm developing
                                 js
                                 css
                                 img
    
           Project2Name and so on ...
    

Saya sadar bahwa saya belum menggunakan alat build setiap hari, yang membuat saya merasa tidak enak.

Tapi saya menggunakan alat build ANT untuk proyek Sprite2CSS saya ditambah dengan beberapa skrip PHP untuk konsumsi ANT.

Alat


Apakah saya menggunakan Windows atau Ubuntu, saya menggunakan yang berikut ini:

  • Netbeans + SublimeText2 + Notepad ++
  • WAMP - (PHP)
  • FakeMail
  • Git
  • Chrome dan DevTools + Firefox dengan Firebug dan Safari + IE untuk pengujian
  • YSlow!
  • Filezilla/WinSCP/NB built-in FTP
  • Cygwin + Command Prompt
  • Komposer
  • NodeJS + NPM
  • SQLYog Community Edition + PHPMyAdmin

Saya terbuka pada saran untuk meningkatkan alur kerja saya.

0
Junaid Qadir

Saya bekerja di Windows dengan Denver , FileZilla, Notepad ++, Firefox Firebug dan inspektur lainnya (tautan di atas), cPanel dan dbForge Studio untuk MySQL

0