Customizing WordPress Administration (from WordCamp Chicago)

Last weekend I debuted a new talk at WordCamp Chicago. Aimed at developers, Customizing WordPress Administration might have been a little bit dry, but the tips – many of them unique to this talk – are killer for consultants looking to tailor the other end of WordPress for their clients.

The slides are embedded below the fold, couresty SlideShare, but they won’t do you much good alone. The meat of the talk was a walk through a simple  Twenty-Ten child theme, the focal point being a functions.php file loaded to the gills with hooks and functions that customize the branding and admin experience. That download is also available below the fold!

Continue reading Customizing WordPress Administration (from WordCamp Chicago)

Smashing Mag Redux: Advanced Power Tips for WordPress Template Developers

C. Murray Consulting’s second post on Smashing Magazine, Advanced Power Tips for WordPress Template Developers, was published on the morning of November 25, 2009.

Advanced Power Tips for WordPress Template Developers

The original article covered 4 over-arching topics, and was so lengthy that the editors decided to split it into two parts! Part two – which focuses on customizing the administrative experience – will be published in two weeks.

Advanced Power Tips, part one, covers techniques for multi-block page / post content and digs deeper into methods for associating page content with post categories.

Continue reading Smashing Mag Redux: Advanced Power Tips for WordPress Template Developers

WordPress as a CMS: 5 8 Power Tips for Template Developers

WordPressEver since WordPress 2.5 was released, we’ve been pushing the boundaries of WordPress as a comprehensive CMS.

WordPress offers a wealth of plug-ins that extend the limitations of its reasonably light core; we’ve even contribued a couple of our own back to the community. But if you like to make slim, fast websites – like we do – you know that sometimes the plug-ins, and their overhead, are overkill.

Here are five power tips for template developers that address common CMS implementation challenges with solutions that are not well documented or not entirely intuitive. Please note that all of the code here was written for and tested with the latest version of WordPress (2.7.1). Some of the functions may not be compatible with older versions, or may require some initialization (i.e. global $post).

Continue reading WordPress as a CMS: 5 8 Power Tips for Template Developers

on April 10th, 2009 in Programming. that includes integrated eCommerce. Thankfully, with some sleuthing and tinkering, we were able to update the necessary DLLs and correct the functions.

Continue reading PayPal API and .NET 2.0 compatibility fix

3 simple examples: why Internet Explorer 8 disappoints web developers

UPDATE: Paul Thurrott, a Windows journalist, has featured some commentary on our post over at his Winsupersite. Check out his post, and the great discussion below it! Thanks for the input, Paul!

have me concerned that there’s a growing and false notion that IE8 is just great, and its rendering problems are the result of web developers writing non-standard code optimized for IE7.

To understand why IE8 is a legitimate disappointment, we need to start by providing background on how different browsers impact web development, both from a cost and design standpoint. If you think you already have a handle on this, you can skip ahead to our 3 straightforward examples of IE8 disappointments.

Continue reading 3 simple examples: why Internet Explorer 8 disappoints web developers

JavaScript Tutorial: Hooking Events at Runtime with Parameter Functions

Although there’s a lack of good documentation, adding a function that takes parameters (i.e. Function_Name(Parameter)) to one of JavaScript’s standard ‘On’ events (i.e. ‘OnClick‘ or ‘onKeyDown‘) is relatively simple for JavaScript coders. Advanced programmers might refer to this as dynamic runtime event assignment with functions using parameters passed.

Confused? Here’s a practical example.

Let’s say we have a text area field on a web page, and we want to execute some function every time they make a keystroke inside that field. In our real world example, we wanted to count the number of characters, so we could let the user know how close they were to the limit, and warn them when they exceed the limit. To capture keystrokes, we need to hook into JavaScript’s ‘onKeyUp and ‘onKeyDown‘ events.

Continue reading JavaScript Tutorial: Hooking Events at Runtime with Parameter Functions

Google Reader WordPress Plugin

Slideshow of Recommended Reading screenshots

Slideshow of Recommended Reading screenshots

Have you noticed our new Software section? Many of our projects involve innovative “mini-applications” that have greater application beyond the immediate project. One of our goals is to abstract some of these projects or apply new skills from these projects into generally available software. We’ll probably charge for some premium applications, but sometimes we’d just like to give back to the open source, GPL community that’s given us fantastic platforms like WordPress.

This week we christened our Software section with a called Recommended Reading: Google Reader Shared. The plug in, optimized for the latest major build of WordPress (2.7 at the time of writing), will let you easily feature selected items from any number of standard web feeds (be it a blog or company news) on your WordPress site. All you need is a free account!

The plug-in is also in less than 100 hours.

Continue reading Google Reader WordPress Plugin

Current section navigation in WordPress

UPDATE (4/1/09): We’ve released a WordPress plug-in based on this post that makes adding top level navigation to your WordPress site a breeze. Download it now from the official WordPress plug-in repository!

Increasingly, we’re building sites – like our own – that are completely managed by WordPress. WordPress makes it very easy to output a list of pages using the wp_list_pages function; you can control depth levels, surrounding tags, and even explicitly exclude certain pages. And with the precise classes that accompany the output HTML elements, you can finely control the output with stylesheets.

Many sites, also like ours, list pages only under the current top level page (or, put another way, pages in the current section) in a sidebar. For example, if you go to the Services page, or any of the pages inside that section, you’ll notice a box atop the right sidebar called “More in Services” that provides navigation within the Services section.

Taking advantage of the wp_list_pages function to create section-based navigation for sites with two levels of page depth is a pretty straightforward matter, as I’ll explain. But how do we efficiently output section based navigation for sites with 3 or more levels of page depth?

Continue reading Current section navigation in WordPress