Hi Nick,
I tested Contact-Form-7’s [_post_author_email] special tag on one of my test sites and it worked well. Here’s my set up:
WP: 3.2.1;
CF7: 3.0;
Other plugins: Exec-PHP 4,9, Role Manager 2.2.3.
The above plugins are necessary to run PHP inside posts, pages, and widgets.
Here’s what you should do:
1. Create a form in CF7.
2. Under ‘E-mail’ options, type [_post_author_email]
inside the ‘To’ field. If you would like to include the name of the author in that field as well, type this instead:
[_post_author]<[_post_author_email]>
3. Check the ‘Use HTML content type’ box, and rewrite the message body in HTML. Here’s the default CF7 e-mail in HTML:
<p>From: [your-name] <[your-email]></p>
<p>Subject: [your-subject]</p>
<p>Message Body:</p>
<p>[your-message]</p>
<hr>
<p>This e-mail is sent via contact form on <a href="[url]">blog_name</a>.</p>
‘Blog_name’ should be replaced by the name of your blog.
4. Insert the new CF shortcode inside your author.php file (the old shortcode should work too, but just in case use the newer one). Don’t forget to wrap it around the do_shortcode
function like so:
<?php echo do_shortcode('[contact-form-7 id="form_ID" title="Contact form 1"]'); ?>
Replace ‘Form_ID’ by your CF’s ID and, if you wish, customize the title value to one of your liking.
5. Load any of your author pages to see if the CF is being displayed properly. If it is, try it to make sure everything is working well.
That should do it.
Good luck!