it-swarm.cn

您使用什么过程进行WordPress开发?

我对其他人如何为WordPress开发主题和插件感兴趣。对我来说,管理面板中的浏览器内编辑器并没有削减它。目前,我只是使用带有IDE插件(NetBeans)的PHP,从我的服务器下载我的开发Web目录,在那里编辑,推送测试,然后迁移到生活。

我正在寻找其他人如何使用他们选择的工具来管理工作流程,以便在上线之前开发,测试和部署主题,插件以及测试最新版本的WordPress。

我把它变成了一个社区wiki,以便其他人可以共享那个开发过程。我不希望在这里找到一个单一的正确答案 - 你的过程是你自己的,我不希望你做的只为我自己或其他任何人工作。我只是想通过查看哪些对其他人有用或无效来提高我开发插件和主题的能力。

这里的另一个问题讨论了支持WordPress开发的特定 软件工具 。在这里,我正在寻找可以独立于工具应用的更多流程和方法,但某些任务只能在某个工具系列中完成。

37
Thomas Owens

为了记录,我主要制作整个网站和插件,并进行部署。我的工作流程非常粗糙。

为了开始一个新项目,我有一个Shell脚本,它负责设置一个新的vhost并检查WordPress的最新标签(来自我们自己的git存储库,跟踪svn)。

整个网站的基本形状是wp-content的git repsotory。它包含一个Capfile(capistrano的Makefile eqiuivalent)和一个YAML配置文件,它们共同负责部署( http://github.com/dxw/wp-capistrano )。同样在该存储库中我将主题和插件添加为git子模块(是的,我们也为第三方插件维护git存储库 - 我们喜欢使用我们亲自测试的最新版本)。

对于主题,我有一个代码生成工具/框架( github.com/dxw/wp-generate )。这意味着更少考虑代码应该去哪里,并且它在View和Model/Controller之间有一种自然的分离方法。

在编写插件时,我使用cucumber/webrat进行测试驱动开发( github.com/dxw/cucumber-wordpress )。

对于将开发数据库迁移到生产环境,通常只是复制转储的情况(WP_SITEURL和WP_HOME由登台/生产机器上的capistrano设置,因此无需搜索/替换)。

我无法想象我用这些脚本保存了多少小时。

20
tomdxw

@Thomas Owens 这个问题有点重叠并重复了问题“ 用于WordPress主题/插件开发的软件? 。”不确定我们是否应该关闭,但似乎是一个稍微不同的焦点。所以...

Mac OS X.

这是 我的基本工具集现在对于Max OS X (总是寻找更好。)注意我尝试了NetBeans并放弃了它。太迟钝和太少的功能。

Windows Vista

当我是 在Windows Vista上我的基本工具集 是:

代码部署/数据迁移到交换机域

不确定这是否正是您正在寻找的,但我开发了一个插件,以简化本地开发服务器,测试服务器和部署服务器之间的迁移。我在这里写到:

希望这可以帮助

-麦克风

6
MikeSchinkel

这是一个工作流程答案,不是特定于IDE或插件。

一个非常适合插件开发的解决方案是从本地Apache Web服务器开始,每个wordpress变体都安装在子文件夹中。

在本地服务器根目录之外的单独位置,存储您的wordpress插件/主题工作副本。在每个wordpress变体的/ wp-content/plugins文件夹中创建一个符号链接到相应的trunk/tag/branch。

在IDE中编辑插件时,您所做的更改显然会在每个wordpress安装中表示,因此可以轻松测试wordpress的多个变体。

从本质上讲,您可以为每个本地wordpress变体打开一个浏览器选项卡,并在处理单个项目和单个文件库时对每个变体进行测试。

使用支持SVN和FTP的IDE,您需要做的就是编辑工作副本并将更改提交回存储库。

作为IDE Coda为我做了,但我也喜欢NetBeans和Eclipse。

一旦您对插件工作感到满意并且已将这些更改提交到存储库,您就可以打开wordpress项目并将更改后的插件直接发布到您的实时网站。

5
leetagg

我有一个相对简单的设置,自从2。5年前开始我现在的工作以来已经发展。

发展

我通过SSH进行所有开发,使用 Vim inside GNU screen 。 Vim插件包括:

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

我们也一直在慢慢修改 dBug 以满足我们的需求。当您知道变量是数组或对象时,很好地替换print_r()var_dump()

部署

目前我不在许多公共插件/主题上工作,所以我不测试插件兼容多个版本的WordPress。我在开发服务器上编码并通过Subversion将该代码移动到生产中。

3
Annika Backstrom

WordPress主题开发流程

  • 将Mock Flow线框转换为基本的XHTML和CSS

  • 将XHTML插入master.php模板文件并转换为Template标签和WP函数

  • 将master.php划分为各种模板文件,即:header.php,index.php,sidebar.php和footer.php

  • 编写可能需要的任何自定义查询和函数

  • 插入CSS布局并添加div {outline:1px solid red;}以帮助调整layout4。

  • 将Theme文件夹上传到WordPress进行测试和进一步开发

WordPress开发工具

  • Aptana Studio WorkPlace代码编辑器,内置FTP

  • 油灰

  • 双1920 x 1200显示器,一个打开浏览器,另一个打开代码编辑器

  • Wacom Intuis 4片

  • 使用Yslow和Google Page速度的Firebug

3
Chris_O

我的工作流程非常简单。我跟上4个环境。测试,开发,分期和生产。

工作流程

我使用git进行版本控制;我忽略了wp-config.php文件,因此当我推送和拉过不同的位置时,这个文件不会被覆盖。我使用unfuddle作为其他人推送和拉出的公共/中央存储库。

这似乎运作得相当好。在我正在进行测试时,我将尽可能多地记住。至少每天一次,如果不是更多,我与unfuddle同步并让开发服务器拉入更改。我尽量不在服务器上做任何直接的工作,所以我主要是拉动变化。如果有重大的数据库更改(新的插件,更新的内容等),那么我将从我的测试中转储它;备份开发并导入转储。

我使用相同的过程进行分段。分段与生产位于同一服务器上,它会仔细检查抛光并确保所有设置和模块都在生产服务器上运行。当我准备好时,我备份所有生产文件和数据库,并从登台复制文件和数据库。

由于wp-config.php不在git中,因此推送和拉动它非常简单。从分段转移到生产时,我复制文件,而不是使用git,所以我必须确保wp-config.php是正确的。

我问了一个simliar 问题 ,我将考虑使用这个插件。

我也考虑过使用Capistrano;并创建一个非常详细的迁移脚本,该脚本将通过并处理所有文件和数据库备份/迁移,以及更新文件路径和URL。

工具

  • Textmate为我的编辑,虽然我开始使用MacVim。我在linux上使用vim。
  • Sequel Pro用于数据库操作。如果我无法连接它,我将使用PHPMyAdmin
  • 如果需要,传输FTP。
  • 用于修订控制的git。主要是通过命令行,虽然我一直在使用Textmate和GittiApp中的客户端。
3
Ryan Gibbons

有一件事可以帮助我(特别是在处理多个客户端主题时)在我的开发服务器上使用WordPress多站点安装。这样,我可以根据需要拥有尽可能多的打开工作,而不用担心客户A看到客户B的主题。再加上我每次创建新网站时加载的全面的示例内容包,您就拥有了一个非常棒的开发系统。

1
Keith S.

我通过使用版本控制系统和自动化测试从生命系统的内核中的就地黑客攻击到更结构化的开发/测试/阶段/生命周期。这取决于工作。

接下来,当我在它们上面运行时,我将错误报告给wordpress项目。

对于插件开发,我尝试不要一直重新发明轮子,以便根据现有的原则和模式构建新的轮子。

0
hakre

这是我的工作流程:

  • 一旦我获得网站的要求和设计,我就开始创建项目的目录。
  • 版本StaticDynamic文件夹中的theme/plugin文件夹使用Git。
  • 为项目创建虚拟主机。我遵循这个惯例:

    http://project1.dev/

    http://project1.static.dev (可选)

  • 我通常遵循这个文件夹组织:

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

我知道我还没有日常使用build工具,这让我感觉很糟糕。

但我确实为我的 Sprite2CSS项目使用ANT构建工具 加上几个PHP脚本供ANT使用。

工具


无论我是在Windows还是Ubuntu,我都使用以下内容:

  • Netbeans + SublimeText2 + Notepad ++
  • WAMP - (PHP)
  • FakeMail
  • Git
  • Chrome和DevTools + Firefox使用Firebug和Safari + IE进行测试
  • YSlow的!
  • Filezilla/WinSCP/NB的内置FTP
  • Cygwin +命令提示符
  • 作曲家
  • NodeJS + NPM
  • SQLYog社区版+ PHPMyAdmin

我愿意接受改进工作流程的建议。

0
Junaid Qadir

我在Windows上使用 Denver ,FileZilla,Notepad ++,Firefox Firebug和其他检查员(链接在上面),cPanel和 dbForge Studio for MySQL

0
Michael Pozdnakov