Sure Dan,
I think part of my problem is there are so many different ways to solving problems in EE. Quite often my first attempt isn’t correct.
I was simply trying to get custom fields for a member based on an authors screen name. So my alternate solution queries the database to get the member_id for the screen name. I then use custom_profile data. PHP is set to parse on input.
<?php
$qry = $this->EE->db->select('m_field_id_1 as author_blog_description, members.member_id')
->from('exp_members')
->join('exp_member_data', 'exp_members.member_id = exp_member_data.member_id')
->where('exp_members.screen_name','{segment_3}')
->get();
?>
<aside>
{exp:member:custom_profile_data member_id="<?=$qry->row('member_id')?>"}
<div class="profile">
{if photo_url!=""}{photo_url}{/if}
<div class="name-title">
<h3>{segment_3}</h3>
<p> {if occupation}<em>{occupation}</em>{/if}<br />
</div><br />
<div class="contact"><br />
{if author_twitter}<a href="http://twitter.com/#%21/{author_twitter}" class="twitter" target="_blank" rel="noopener">Twitter</a>{/if}<br />
{if author_linkedin}<a href="http://{author_linkedin}" class="linkedin" target="_blank" rel="noopener">LinkedIn</a>{/if}<br />
{if author_facebook}<a href="http://{author_facebook}" class="facebook" target="_blank" rel="noopener">Facebook</a>{/if}<br />
{if author_google_plus}<a href="http://{author_google_plus}" class="googleplus" target="_blank" rel="noopener">Google+</a>{/if}<br />
<a >row('member_id')?>" class="email">Email</a><br />
</div> <br />
</div>{/exp:member:custom_profile_data}<br />
</aside>
Thanks,
Anson