Our WordPress Developer Toolbox

Again and again the question comes in: What do you use as an environment to develop with WordPress. Some suggestions I would like to give, these are just my preferences, but I would be happy if you tell me your preferences of tools. Maybe there is one or the other useful tool included, I never heard of.

Platform

Currently I am working on Windows and Linux, so that should be a priority, that I can use my tools on both platforms. This is important to me because I consider a heterogeneous environment for conducive.

Browser

In my everyday environment of web development, I work primarily in the browser and the editor, therefore, these two tools for me are also the center of my work.

My favorite browser is Firefox, especially because of the great Add-ons. Therefore I have to mention the awesome Add-on FireBug , I cannot imagine to work without it. For this Add-on there are even more Add-ons, which I also use and recommend, especially YSlow, FirePHP and Page Speed.

Also I like to use the Add-on Web Developer to get access to certain content of the website, like Cookies or JavaScript. The possibilities of Web Developer are tremendous and therefore a wonderful tool. Some functionalities are included in Firebug and Web Developer, you have to decide which functions you like more in each Add-on.

Editor

Another important tool is the editor, and my favorite is UltraEdit. An editor, which is not Open Source, but I love to use since several years. Here I guess mainly the speed of the editor and the wonderful extensibility with your own tools is the part I really like. That's why I parse PHP and validate HTML and CSS directly in the editor. For the parsing of CSS I also use CSSTidy, also available online. I parse PHP via web server that is integrated in the editor and also integrated via PHPLint, also in the additional tools of the editor.

Under Linux I can not quite decide whether I should use Geany or Aptana, where Aptana is already too slow and I really miss one or the other feature in Geany. UE is currently still in the testing and beta phase and we'll see, maybe I can not yet get away off this editor.

Webserver & Tools

There are two other important tools to use in the context of web development. I work on the local environment under Windows with XAMPP and in Linux is the local web environment installed via package manager. So I have on each client an environment to work with PHP and mySQL.

Important in the development with PHP is error and warning output and debugging. In PHP, there are several different approaches and I use the module xdebug.
Furthermore, I write in the context the ErrorLog and evaluate them. The last tool I would like to point out is Webgrind, which is used as a web application. Alternatively, there are desktop tools that perform this work, for example WinCacheGrind under Windows. This evaluates perfectly the profiling and optimizes your code.

FTP

To get the development on the server, it usually requires a tool, which dominates the FTP protocol and provides a possible interface for managing the accounts. Here I use under Windows Total Commander, which can be perfectly adapted to your needs and I love it that I can open multiple connections in several tabs. On Linux I use the Add-on for Firefox FireFTP. There are several more tools, but I've never found the time to look at various other options. Also the Aptana IDE has this in support, works fine.

WordPress

As I develop primarily in and for WordPress, I have a few small Plugins in the test environment active, which ease my view on certain data, and which specifically save errors or issues in WordPress. A small list with short explanation of Plugins, even if I don't use all of them, but there might be one or two in this list you like.

That should be enough, even there are many more for sure. The decisive factor, in my view are not the Plugins, but the environment with xDebug and the settings that WordPress offers as standard in this context. Therefore, I can only recommend to have the following lines in the wp-config.php of the environment.

/** Debugging WP */
define('WP_DEBUG', true); //enable the reporting of notices during development - E_ALL
define('WP_DEBUG_DISPLAY', true); //use the globally configured setting for display_errors and not force errors to be displayed
define('WP_DEBUG_LOG', true); //error logging to wp-content/debug.log
define('SCRIPT_DEBUG', true); //loads the development (non-minified) versions of all scripts and CSS and disables compression and concatenation,
define('E_DEPRECATED', false); //E_ALL & ~E_DEPRECATED & ~E_STRICT

define('AUTOSAVE_INTERVAL', '300');    // Autosave interval
define('SAVEQUERIES', true);    // Analyse queries
define('WP_POST_REVISIONS', false);

These definitions make the work easily with WordPress and there are many indications of WP to have a clean code and current functions. I change the autosave interval only to small values, if I work in this segment, so if I need the script as soon as possible.

Web Applications

On the web there are a variety of tools that are useful - I'd like to briefly introduce some them I use often and also to say my thanks to the people who make these services available.

Conclusion

A small overview of my latest tools and perhaps you find one of them useful or you have suggestions as well for me.

Comments are closed.

20 comments

  1. Rilwis

    Great collection of tools.

    I use a different editor for simple editing: Notepad++. I'll check the tool you recommend :). NetBeans is cool, but it's too heavy and causes my computer long loads, so I just use it when neccessary.

    I love your list of WordPress tools. I'll check them right now. Thanks for sharing.

  2. ZhaoFuan

    Thank you! I like this Developer Toolbox too.

  3. ntm

    I'm using XAMPP (with PHP 5.3) for Windows and I'm still control whether my plugins work with older WP version like WP 2.7 or WP 2.6 or not.
    These old WP versions displayed messages like this: "Deprecated: Assigning the return value of new by reference is deprecated ... wp-settings.php". I have tried define('E_DEPRECATED', true); to suppress these messages without success. (I also configured my php.ini with this line error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED.)

    Finally It was helpfully to use error_reporting(E_ALL & ~E_DEPRECATED); instead of define('E_DEPRECATED', false); in the config.php.

  4. Alex Moyler

    Good selection for the Windows/Linux Users!

    For the Mac side I'd go with Firefox or Chrome with the WebDev extensions, MAMP for your local server, and Transmit for an FTP client. My dev work is usually done in Espresso and CSSEdit, although there are a fair few alternatives.

  5. Ünsal Korkmaz

    As a ftp / ssh program.. i suggest WinSCP. Free open source and really good.

  6. iceflatline

    Frank, thanks so much for taking the time to publish this comprehensive list of great tools. I'm using many of them, but look forward to trying the remaining ones I am not currently using.

  7. Slobodan

    I use mostly the same stuff as you do except the FTP and editor.

    For FTP i use FileZilla and about the editor i tried dozens of different ones and i am happies with Notepad++ (with FTP Synchronize plugin). I simply like working in it, and it doesn't annoy me with automatic assumptions of what i want to type in. Has a syntax highlighter and that's all i need.

  8. Wiki Chaves

    Great post :)

    I have small trick for themes developement. I 've recently installed WP 3.0 beta on with multisite turned on, at my localhost enviroment.

    So when then i throw all my themes at my theme diretory and create different "sites"

    It´s very usefull if you develop flexible themes, so you can try your theme in different "sites" and figure out how does it looks, and you don´t have to create one DB and WP instalation for each, you can upgrade all "sites" at the same time, the plugins, etc :)

    Wiki

  9. Michael

    @Wiki Chaves: I do the same here :)

  10. Website Design Worthing

    Thanks for the post Frank. Have recently been trying out Chrome and add-ons, and time is fast approaching to decide whether to ditch Firefox/Firebug, however useful they are, in favour of Chrome as I'm using Chrome more and more as my daily browser of choice. At least Firefox releases appear much more stable now!

  11. Andrew

    E_DEPRECATED is a core PHP constant in PHP 5.3+. You should not be defining it on your own. WordPress simply checks to see whether it is defined that way it knows whether it needs to exclude it.

  12. KmaN

    Appreciate sharing your tools. I'd personally recommend Notepad ++ as the editor of choice. Does the work for me.

    As for an FTP client, I use, and strongly recommend, the use of FileZilla, a free software that can be downloaded right off a google search.

  13. Troy Dean

    We are WordPress developers and Mac users and prefer MAMP, Firefox, Firebug and CODA as an editor rocks.

  14. Theo

    Thanks Michael for the great article, specially for the WP tools. As editor i use Notepad++, and FilleZilla as my FTP client.

    @Wiki Chaves: nice trick, have to try it

  15. Jürgen

    Thanks for this hints.
    I am still searching for one damn bug on my latest WordPress plugin.
    I hope I will find it now.
    by th way: great site. It will have a prominent place in my bookmark list now

  16. Jacques

    Not a hard-core coder like yourself, I just installed http://www.aptana.com/ - for CSS & HTML, but it supports .PHP, .js and what not - and if it is not there, you can add it via add ons. Finding my way, as it seems a good alternative to Dreamweaver.

    TotalCommander - wow, didn't realise that is still around - from the 90's - good for them! I use FileZilla. And WAMP for local server.

  17. Fredrik

    Im a Mac wordpress developer and must say that the best editor out there is CODA for html/php/css and so on. Never use to comment but had to give my input and tip :-)

  18. Torbjörn Sjögren

    I´m on a Mac and use TextWrangler, Firefox with Firebug and Cyberduck FTP. Photoshop for designwork.

    When i develop new sites i usually install WP on the new domain and use the 'Members Only' plugin before launch. I have a local environment setup but the hosted server install sometimes differs, so i think its easier to develop on the final environment. This works OK for me but can sometimes be a little "laggy".

    When i do work on a existing WP-site its a litte risky to work on the live install (depending on the work). Then my approach is to set up a copy of the live install to test plugins/themes etc. When the work is done i transfer the changes to the live install by either uploading files and import database or install theme/plugins and manually change settings depending on the changes.

    Please comment on this approach. How do you deal with this development | live environment "problem"?
    Is there a smarter/faster way to do this?

    Also, please hint me about some more good content covering the development | live environment "problem".

2 pingbacks

  1. Best On WordPress From The Past Week N.7 » wpCanyon
  2. L’hebdo WordPress : sondage – WordPress 3.0 – BuddyPress | WordPress Francophone