Swap to use the slug, ID doesn't work.

Related core ticket: http://core.trac.wordpress.org/ticket/13258
Some text changes, better error handling.