This morning I got an email from a company offering a free whitepaper on choosing ‘the best CMS for your business.’ I signed up and downloaded it – this is the first thing I saw when flipping through it:

“PHP is a general-purpose scripting language for web development. It is also used in some open-source CMS offerings. Because it’s easy to learn, PHP is often used by small companies for simple websites. Medium and large businesses however, are much more likely to choose .NET for its compatibility with Microsoft technology.”

So let’s see… these are some fairly good-sized companies that have PHP-driven sites:

  • Facebook
  • Wikipedia
  • ING
  • IKEA
  • US Small Business Administration
  • Friendster
  • Flickr
  • PhotoBucket
  • Sourceforge
  • Yahoo! Answers
  • Garmin
  • Digg
  • Wake Forest University

They don’t sound so small. Or simple.

There are a number of plugins and tutorials for adding a gravatar image to the meta info for WordPress posts.  But my client wanted the ability for each other to upload/maintain their own images within their WordPress profiles. Here’s how I did it.

First  I installed the plugin Author Image – this places a simple upload box at the bottom of a user’s profile page. Nice and simple.

Next, I used the code snippet provided for the plugin and added it to the .entry-meta section beside the author link in my template page:

I styled it to make it smaller, but again this was an easy task. Next, I wanted to make the image link to the author’s posts page – that proved to be harder than expected, but eventually I got it working thanks to a post I found about an outdated user image plugin:

Easy to implement and my client’s authors can control their image from within their profile rather than having to update a gravatar.

I have a large Joomla site rapidly approaching launch-readiness, and I have a lot to do on it this weekend – finalizing the CSS styles, checking through about 70 pages of content to make sure nothing stands out as being wonky, and creating a few forms.

Then I’ll need to do some styling of the SOBI2 component, which I’ve done before, and is thankfully quite easy.

And then, some final testing and tweaking of SOBI2 and making a list for my subs of little things I see along the way. We’re getting close.

Last week I built my first custom WordPress theme for a magazine website; today I’m working toward finishing up the site.

I’m migrating existing content over where I can, and am now working on a couple of contact forms using the Contact Form 7 plugin. I’ve used it before and I think it’ll work here; I need two forms for different tasks.

The next step will be to install a carousel gallery on the home page and another gallery on one of the interior pages; I’ve picked out two likely carousels but could use suggestions on the other gallery. I might use Highslide, if that’s compatible with WordPress.

Just finished my second WordPress theme… more or less. I’m having a widget issue with Widget Context that I think’s being caused by having a static homepage. Whenever I assign a widget to ‘the homepage’ it places on both the blog post page and the static homepage. I wrote the plugin author to see if he can help.

Earlier this week due to a number of irritations with one particular project (it started off as a really bad week!), I decided to take the plunge and learn how to create a custom WordPress theme myself.

I’ve been integrating WordPress into other websites for quite a while so I did have some basic understanding of how it worked. I found this nice article in Smashing Magazine about WP theme development frameworks and read it all. I looked at a few of them and picked WP Framework because it looked like something I could handle, as a beginner.

A half hour into my workday Tuesday and I’d downloaded and installed WP Framework and made that my active theme. I found the actual migration of my HTML/CSS page elements into WP Framework was quite easy – the main issue was figuring out which of my elements needed to be renamed.

Basically with WP Framework, there’s a base.css file that contains a pretty minimal amount of CSS styling. There’s a screen.css file that’s blank and takes precedence over base.css – that’s where you can copy and paste your CSS styles from your HTML/CSS page. And then as I mentioned, you have to determine what styles of yours need to be renamed (or, which styles in the theme HTML need to be renamed). As long as you get all the styles in agreement, it works either way.

I had to create one additional template for the home page, which wasn’t the blog in this case. That gave me a little trouble because I hadn’t done that before, but when I figured out I just made a copy of the theme’s index.php file, made the changes I needed in the code and gave it a theme name in the commented section at the top, it began to make sense. I created a new header_custom.php file that would call a second stylesheet with adjustments for just that template, changed the header file call in my new version of index.php to that new header_custom.php. This did take a while to figure out but it does make sense to me now.

Then in the ‘home’ page’s editing window in WordPress I just selected this second template name for my page, and all was working fine.

It took me exactly 10 hours to build my first custom WordPress theme – there’s still a little CSS glitch at the bottom with the footer, but otherwise it’s done and I’m very happy with it.

I learned a really important and marketable new skill as a result of all the trouble I had with on this particular project – so it definitely turned out for the best.