How long will it take me to learn Wordpress and create/implement a theme?
August 30, 2012 10:47 AM   Subscribe

I am fairly new to Wordpress. Will I be able turn wireframes I design into a useable theme for a somewhat-complex website in 3-4 weeks?

I am trying to decide whether to take a freelance job recommended to me by a friend. It would be a redesign of an existing business website, which is already in Wordpress and currently has a custom theme. I am a designer and have worked on website design and production before, although I have never done a website in Wordpress. I do have some books on it, and I would like to learn to use it, since it seems like a valuable skill to have. The people who would be hiring me know that I am not very experienced in this area, but are willing to work with me if I think I can complete the project satisfactorily.

So my questions is, can I essentially teach myself enough Wordpress to turn a design into a useable theme in less than a month? I am generally a fast learner, but I am very hesitant to take this job if I will not be able to deliver good results in that time frame.

Also, since they already have a custom theme and the changes they want are cosmetic, not structural, would it be acceptable to make a child theme from their existing theme and start from there? Or is that impossible/inefficient/pretty much copyright infringement? The design would be completely different (well, unless the clients tell me otherwise), but would it still be easier to 'start' with their current design?

I would like to take this job, both for the money and the potential learning experience, but I will absolutely not if it seems like I cannot complete it to my standards in a timely manner. There are pages and widgets and menus and a blog and I am just worried I will screw something up with my lack of experience.
posted by Grafix to Computers & Internet (7 answers total) 6 users marked this as a favorite
It depends on your current skills. How comfortable with HTML are you? I think Wordpress themes are easy and well-documented and got into them really quickly, but I am very comfortable with HTML and CSS and hand-code them. It also helps to understand basic programming concepts such as loops, and a little PHP. I think my first custom theme took me about 10 hours.

I would ask them if you could have a copy of the current theme files (or if they trust you enough to give you the admin login, you can peek at them in the theme editor) and look at what's there already. If you look at it and feel like you have a basic understanding of what it's doing, you should be fine. At minimum, you would be taking your HTML and wrapping it around the tags in their current theme which tell WordPress where to put the blog content.

To get a headstart, I would set up my own Wordpress instance and try creating a theme using the HTML of another site you've designed, just to get the hang of it. I just do this on my computer by setting up a local server, but you could also do it on your web host. There are some good guides online, like this blog series is a little old but explains it well. Between that, the documentation, and googling, you will find pretty much everything you need to know.

I probably wouldn't do it as a child theme of their current theme because a different person wrote the code. But, for example, if the only thing changing was the CSS, it would be an easy way to do it. A child theme of the Wordpress 2011 theme might be a better idea.
posted by beyond_pink at 10:59 AM on August 30, 2012

This is hard to answer without knowing the details. A lot of advanced themes have a lot of built in functionality/interaction in addition to visual presentation. If your clients are expecting that, I wouldn't take something like that as a way to get your feet wet in WP.

I don't see how building a child theme off their existing theme would be copyright infringement, but it does sound like it might be more of a PITA than it's worth. I suspect it would make more sense to build a child theme off of a skeleton theme created explicitly for sub-theming, like Starkers. Also see Themeshaper.
posted by adamrice at 11:01 AM on August 30, 2012

Just like any development tool Wordpress has its quirks and it can take some time getting used to it, particularly how theming works. Will 1 month be enough? Depends on the changes you're requested to make. You mention that the requests are "cosmetic" and that sounds good but so often these redesign projects can requires more complex back end code that initially imagined. And of course feature creep isn't unheard of.

You need a much more precise understanding of what the client wants and what this means in terms of Wordpress development.

Would you mind elaborating on the child theme aspect of this? Any reason why you can't continue working on the customer's current theme?

As for the actual coding and testing, you will of course download a copy of the wordpress files and DB and run everything locally or on your own hosting. Never ever work against the live thing. Sometimes it might be enough to just get a copy of the theme and work on it but very often themes rely on plugins and database data so that might not be an option. Only when the customer has ok'd your design and it's ready to deploy do you actually install it on the live site.

To me this would be a good opportunity to learn Wordpress if the changes required are cosmetic. Having a real customer that will actually pay you is a better motivator than, say, messing around with Wordpress on your own free time.

If you're going ahead with this, I wouldn't mind helping you throughout the project. Just send me a MefiMail.
posted by Foci for Analysis at 11:17 AM on August 30, 2012

As the others say, it all depends on the scope of the work and your current level of expertise. On the face of it, this sounds like a good project to get your hands dirty with some WordPress development. If you don't have it already, you'll need to gain some familiarity with the database/scripting engines (mysql/php) right off the bat to set-up their current site on your development server. That's in addition to needing to know the xhtml/css basics and learning how WordPress structures themes.

You could make a child theme (and it's really quite easy to do so), but unless they're planning on going back to the existing theme sometime or it's a theme/framework that might be updated by the original developer in the future, there's really no advantage to doing so.

Foci for Analysis has graciously offered to help already, but if you need any more advice you're welcome to reach out to me as well.

Good luck!
posted by maniactown at 11:40 AM on August 30, 2012

You may be better off starting anew, depending on what the current theme is like. _s is a newish theme that might be a good start.

Chris Coyier has some good screencasts (although they're older) at CSS-Tricks on making a theme.

There's so much help available online, that if you've got a decent HTML+CSS+PHP foundation, you should be okay.
posted by backwards guitar at 12:19 PM on August 30, 2012

Seconding all the above advice and recommending xampp as a turnkey Apache-MySql-PHP localhost testbed

To move forward you will need to be proficient with CSS (Firefox+Firebug FTW), comfortable with HTML, and familiar with PHP and standard programming concepts (variables, looping, objects etc...)

I would not recommend creating a child theme without understanding the nuts and bolts of the existing theme. Either create a copy/rename the existing theme and edit it directly or start from scratch.

If you do take this on feel free to memail me if you have specific questions / problems. Stackoverflow will probably handle 99.9% of what you're going to run into though.
posted by ElGuapo at 1:04 PM on August 30, 2012

Your questions rephrased:

1. Child theme of vs. new from scratch vs. copy existing and modify vs. child theme of some other theme

Definitely copy the existing theme and modify. You can actually install a theme switcher so only you see a certain theme. Child themes come with more complexity than they're worth.

2. Can you do this?

I think so, if you're comfortable diving in, reading documentation, and debugging code.

Many great answers about theming and I always also recommend

More generally - any project you're taking to learn on can be a bit scary. I find that full disclosure about my limitations to clients has them happy. I like learning new stuff and giving them a bit of a discount on my time as I learn. If they're not comfortable with that, then it's better to know that up front.
posted by artlung at 3:04 PM on August 30, 2012

« Older My imagination has been debunked!   |   Recommendations for Cleveland Neighborhoods Newer »
This thread is closed to new comments.