On a multi-author blog, let's say you want each author to have their own Bio/Profile page, which will include their image, their bio, a list of their articles on the site, and possibly a contact form for them. And you want the byline of each post to link to each authors author page automatically.
At first, it seems like you should use WP's built-in "author" functionality - author.php plus the collection of the_author() tags. And there are various plugins for doing things like author images, etc. The big problem is that the author description field on a user's WP Profile does not allow any HTML at all - even line breaks and links are stripped out. And you only get a tiny space for editing (does anyone know why this is? seems crazy to me). So the "meat" of each author's bio page is going to end up pretty anemic.
I've been looking for a plugin that would let authors create their own bio pages in a "Create Post"-style entry page, with all the regular editing and formatting options you get when making posts or pages. And I've turned up squat. Is anyone aware of a plugin like this?
The alternative (and I've actually got this working, but it feels like a hack) is to have authors create their bio pages as actual Pages, which are children of a parent Authors page. As long as the slug name of each author page matches the author's login name, you can automate the creation of the byline link with something like:
echo '<a href="/authors/'; the_author_login();
echo '">'; the_author_firstname(); echo ' ';
the_author_lastname(); echo '';
That's pretty OK, but unfortunately sidesteps the whole point of WP having author.php functionality to begin with. And it's going to require manually ensuring that all author pages have correct slug names to avoid broken author links. And it's going to mean I can't use wp_list_authors() to build an automatic list of all authors on the system.
So... am I correct that the author Description field is hamstrung by design, and that WP thus makes it hard to fully utilize its own Authors system? And am I correct that there doesn't seem to be a plugin out there that addresses this problem adequately? Or is my Pages-based workaround about as good as its going to get?