This is a very broad question. If you want to be good at freelance web design html5 and css3 is a start. To be successful and have a career in web design you need to know a lot more than just these two subjects.
For starters, a good web designer knows the psychology of the way users act on the web, how users navigate from page to page, item to item, and the decisions they make. I learned a lot from Steven Kruggs Book - Don't Make Me Think. Its available on Amazon.com(link in sources) if you are interested. There are also other books you could read to get into the web users mind.
Once you have a good understanding of how users actually use the web, and I don't mean from your perspective as a user because once you begin coding html or css you see the web completely different than the standard user. Which brings me to another point, who is the standard user. .
Good web designers will also need to know a good bit about Online Marketing. How to reach their clients target market, and the best way to do so. This includes SEO as well.
Now onto Design principles. . It may also be a good idea to figure out what looks good and what is usable. Again, I would consult a few books on the topic a simple amazon search and review reading will point you to the best one for what you would need.
Finally, programming languages you would want to learn. I said in the beginning that HTML and CSS were a good start and that is what I started with too. From there, I would learn some PHP if you want to include databases(MySQL is open Source, absolutely worth looking into) for websites your creating, as well as some JAVASCRIPT for those clients who like things to be flashy, or for some lightweight programming needs.
Probably the most important part of all of this. Content Management Systems! These are becoming the norm for web designers. You have already mentioned Wordpress and that's just one! There is also Drupal, and Joomla!. Joomla! is a mix of a few languages, php, html, css, and xhtml. Wordpress is php, html, and css. I have never worked with Drupal, so your on your own here!
For some basic tutorials in these languages you can visit
http://divshark.com/DivShark-Main/Tutorials.html
I really hope this helps! I had to figure this all out on my own pretty quickly but its worth it in the end.