Part of my contact, and Scope of Work, is that I list out what is required to meet each milestone. For Wordpress sites (or any website, really), I layout a task list such as:
The CLIENT must agree to provide the following before the server time is purchased and name is purchased: Authorization in writing from xxxx to pay a fee of $xxx per year in advance
The CLIENT must agree to provide the following before the web site is ready for access: All media assets (pictures, videos, drawings), layout design (agreed upon with me), and text for the xxx page, yyy page, and zzz page.
Failure to provide any of the above will result in delays, which will not be deductible from the agreed price
Have the client initial each section, explaining to him/her what is required and why. If they need another freelancer for part (i.e. creating the graphics when you only do web site back-end tasks), then it is on them to find someone to do it, or ask me for a referral.
Remember, as a Freelancer, our job is to not screw out the client; our job is to accomplish the client's goal as quickly and efficiently as possible. Explaining what you need to get their job done up front helps with communications, and therefore, expectations, placed upon you and future professionals.
I do the back-end stuff for a few websites. I do NOTHING in relation to making something look good, and I explain that. I then offer the contact details of a few people I trust to handle the parts I can't, and offer to connect them to my client. This has worked well for me, as I like working with the other freelancers I recommend, and it allows us to collaborate on bigger projects later on. By telling the client on the first meeting what my area of expertise is, they can make the business decision on how to move on, letting them have the power still.
Did I mention our job as a Freelancer is to sometimes stroke the client's ego? ;-)