I use the following setup for testing code against multiple versions of WordPress. These instructions assume that you’ve already created the setup for MAMP development across computers via Dropbox.
The goal: a nicer-looking web site.
- No S/FTP uploads to the server. You can use the Media Library upload for allowed file types only.
- No custom themes or plugins. You can install themes and plugins directly from the WordPress.org repository, but not via Upload Plugin or Upload Theme.
- No file editing. You can use the Custom CSS module from Jetpack, but not the theme or plugin editor.
- No outside programs. You can only use your browser (and any useful sites you visit) for image editing.
I use the following MAMP PRO setup for testing and development. It lets me sync data and host information across my computers, so that I have access to my local setup1 no matter where I’m working. This assumes some knowledge of basic UNIX commands, Terminal, and MAMP, and starts from scratch.
I’ve been using the new [Twenty-Ten](http://wordpress.org/extend/themes/twentyten) theme for WordPress on my personal website; it’s great out of the box, but I wanted to display my custom post types and taxonomies in the same format as it uses for categories and tags. The function is broken into two parts: `ucc_get_terms()` returns a multidimensional array of the post’s taxonomy name(s) and each taxonomy’s term links; `ucc_get_terms_list()` gets the taxonomy information and formats the array for display in the template.
The WordPress Categories Widget currently only handles the `category` taxonomy. I’ve modified it to allow the user to select a taxonomy, and tied in the Tag Cloud Widget code to give the user the choice of display formats: list, dropdown, and cloud. Multiple instances are possible, providing the user with an easy method for displaying links to user-built taxonomy terms.
By default or design, the WordPress function `get_calendar()`[^1] does not handle post types other than `post`. I’ve updated it as the standalone function `ucc_get_calendar()` to allow it to accept a `$post_types` array; the included filter function `ucc_get_calendar_filter()` will allow for seamless integration via `functions.php` without requiring additional editing of Theme templates. (Note that the filter will also apply to the Calendar Widget’s output.)
Again with the custom post type extensions. This function lets the native WordPress `wp_get_archives()` [^1] [^2] know about public custom post types; just add it to the `functions.php` of your theme. Of note: the builtin `link` post type can be included at the `array_merge()` point; I just had no use for it.