問題描述

我對其他人如何開發 WordPress 的主題和插件感興趣。對我來説,管理面板中的 in-browser 編輯器並沒有削減它。目前,我只是使用一個帶有 PHP 插件 (NetBeans) 的 IDE,從我的服務器上拉下我的開發 web 目錄,在那裏進行編輯,然後進行測試,然後移植到 live 上。

我正在尋找其他人如何使用他們的工具來管理工作流程,以便在開始,測試和部署主題,插件和測試最新版本的 WordPress 之前,在開始使用之前。

我已經將這個社區 wiki 做成了一個社區 wiki,以便其他人可以共享開發過程。我不期待在這裏找到一個單一的正確答案 – 你的過程是你自己的,我不會指望你為自己或任何其他人工作。我只是想提高我開發插件和主題的能力,看看哪些是有用的或不適用於其他人。

另一個問題在此討論具體的 software tools to support WordPress development 。在這裏,我正在尋找可以獨立於工具應用的更多過程和方法,除了某些可能僅在某些工具系列中完成的任務之外。

最佳解決方案

為了記錄,我主要製作整個網站和插件,並進行部署。我的工作流程非常 Ruby – 和 git-heavy 。

要開始一個新項目,我有一個 shell 腳本,負責設置一個新的虛擬機的整個業務,並檢查最新的 WordPress 標籤 (從我們自己的 git 倉庫,跟蹤 svn) 。

整個網站的基本形狀是 wp-content 的 git repsotory 。它包含 Capfile(capistrano 的 Makefile eqiuivalent) 和一起處理部署的 YAML 配置文件 (http://github.com/dxw/wp-capistrano) 。在這個存儲庫裏面,我添加了一個主題和插件作為 git sub-modules(是的,我們維護第三方插件的 git 存儲庫 – 我們喜歡使用我們親自測試的最新版本) 。

對於主題,我有一個 code-generation 工具/框架 (github.com/dxw/wp-generate) 。這意味着考慮代碼應該去哪裏,而且它具有在 View 和 Model / Controller 之間分離的自然方法。

編寫插件時,我使用黃瓜/ webrat 做 test-driven 開發 (github.com/dxw/cucumber-wordpress) 。

而對於將開發數據庫遷移到生產中,通常只需複製轉儲 (WP_SITEURL 和 WP_HOME 由 capistrano 在分段/生產計算機上設置,因此無需搜索/替換) 。

我無法想象我用這些腳本保存了幾個小時。

次佳解決方案

@Thomas Owens 這個問題有些重疊並重復了 「WordPress 主題/插件開發軟件」 的問題。不確定是否應該關閉,但是看起來略有不同。所以…

Mac OS X

這是 Max OS X 的主要工具集 (總是尋找更好的) 。注意我嘗試過 NetBeans 並放棄了它。太慢,功能太少

Windows Vista

當我在 Windows Vista 上時,我的主要工具包是:

代碼部署/數據遷移到切換域

不知道這是否正是您正在尋找的,但是我開發了一個插件來簡化本地開發人員服務器,測試服務器和部署服務器之間的遷移。我在這裏寫道:

希望這可以幫助

-麥克風

第三種解決方案

這是一個工作流程的答案,不是特定於 IDE 或插件。

一個非常適用於插件開發的解決方案是從本地的 apache web 服務器開始,每個 wordpress 變體都安裝在 sub-folder 中。

在本地服務器根目錄之外的另一個位置,存儲您的 wordpress 插件/主題工作副本。在每個 wordpress 變體的/ wp-content / plugins 文件夾中創建符號鏈接到相應的中繼線/標籤/分支。

當您在 IDE 中編輯插件時,您所做的更改顯然將在每個 wordpress 安裝中進行表示,因此可以輕鬆測試 wordpress 的多種變體。

本質上,您可以為每個本地 WordPress 變體打開瀏覽器選項卡,並在單個項目和單個文件庫的基礎上進行測試。

使用支持 SVN& FTP 您需要做的是編輯您的工作副本並將更改提交到存儲庫。

作為 IDE Coda 對我來説,但是我也喜歡 NetBeans 和 Eclipse 。

一旦你快樂,你的插件工作,你已經承諾這些更改到您的存儲庫,然後您可以打開您的 WordPress 項目,並將更改的插件直接發佈到您的現場。

第四種方案

我有一個相對簡單的設置,從開始我的現在工作〜 2.5 年前發展。

Developing

我通過 SSH 進行所有開發,在 GNU screen 中使用 Vim 。 Vim 插件包括:

垂直分割和:set hidden 是必不可少的。我還喜歡使用 railscasts 配色方案的 256 色終端 (Mac OS X 上的 iTerm) 。

我們也慢慢修改 dBug 以滿足我們的需求。當您知道變量是一個數組或對象時,print_r()var_dump()可以很好的替代。

Deploying

目前我不會在許多公共插件/主題上工作,所以我不會測試與多個版本的 WordPress 的插件兼容性。我在 dev 服務器上編碼,並通過 Subversion 將該代碼移植到生產中。

第五種方案

WordPress 主題開發流程

  • 將 Mock 流線框轉換為基本的 XHTML 和 CSS
  • 將 XHTML 插入 master.php 模板文件,並轉換為模板標籤和 WP 功能
  • 將 master.php 分成各種模板文件,即:header.php,index.php,sidebar.php 和 footer.php
  • 編寫可能需要的任何自定義查詢和函數
  • 插入 CSS 佈局並添加 div
    {outline:1px solid red;}
    來幫助調整 layout4 。
  • 將主題文件夾上傳到 WordPress 進行測試和進一步開發

WordPress 開發工具

  • Aptana Studio WorkPlace 代碼編輯器,內置 FTP
  • 油灰
  • 雙屏 1920 x 1200 顯示器,瀏覽器打開,代碼編輯器另一個
  • Wacom Intuis 4 片
  • Firebug 與 Yslow 和 Google Page speed

第六種方案

我的工作流程非常簡單。我跟上 4 個環境。測試,開發,分期和生產。

Workflow

我使用 git 進行修改控制; 我忽略了 wp-config.php 文件,所以當我推拉不同的位置時,這個文件不會被覆蓋。我使用 unfuddle 作為公共/中央存儲庫供他人推拉。

這似乎工作得很好。當我正在進行測試時,我會盡可能多地提交。至少每天一次,如果不是更多,我會同步到無障礙,讓開發服務器拉動更改。我儘量不要在服務器上做任何直接的工作,所以我主要只是拉扯變化。如果有重大的數據庫更改 (新插件,更新的內容等),那麼我將從我的測試轉儲它; 備份開發並導入轉儲。

我使用與 Staging 相同的過程。分段與生產一起坐在同一台服務器上,雙重檢查拋光,並確保所有設置和模塊都在生產服務器上工作。當我準備好了,我備份所有的生產文件和數據庫,並從分段複製文件和數據庫。

由於 wp-config.php 不在 git 中,所以推拉動作非常簡單。當轉移到生產從分期,我複製文件,而不是使用 git,所以我必須確保 wp-config.php 是正確的。

我問過一個簡單的 question,我將研究使用這個插件。

我也考慮過使用 Capistrano; 並創建一個非常詳細的遷移腳本,它將通過並處理所有文件和數據庫備份/遷移以及更新文件路徑和 URL 。

Tools

  • 我的編輯器的 Textmate,雖然我開始使用 MacVim 。我在 linux 上使用 vim 。
  • Sequel Pro 用於數據庫操作。如果我無法連接,我將使用 PHPMyAdmin
  • 如果需要,傳送 FTP 。
  • git 進行修改控制。主要是通過命令行,雖然我已經在 Textmate 和 GittiApp 中使用了客户端。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。