Hmm, I feel like I might be missing something here, and I apologize if I am being a pest Bruce. Here is my entire author.php file, with the snippet included that you provided above.
<?php get_header(); ?>
<section id="title">
<article>
<h2>Become A Member</h2>
</article>
</section><!--end of title-->
<section id="container">
<article id="content">
<aside id="left">
<?php get_sidebar(); ?>
</aside><!--end of left-->
<aside id="right">
<article>
<?php
$thisauthor = get_userdata(intval($author));
?>
<h2><?php echo $thisauthor->display_name; ?>, <?php echo get_user_field('profile_certifications', $thisauthor->ID); ?></h2>
<?php if (have_posts()) : ?>
<?php endif; ?>
<article class="profile-details">
<aside class="picture">
<? if(function_exists('get_avatar')) { echo get_avatar($thisauthor->user_email, 96, "" ); } ?>
</aside><!--end of .picture-->
<ul class="profile-info">
<li><strong><?php echo get_user_field('profile_company', $thisauthor->ID); ?></strong></li>
<li><?php echo get_user_field('profile_address1', $thisauthor->ID); ?></li>
<li><?php echo get_user_field('profile_address2', $thisauthor->ID); ?></li>
<li><?php echo get_user_field('profile_city', $thisauthor->ID); ?>, <?php echo get_user_field('profile_state', $thisauthor->ID); ?> <?php echo get_user_field('profile_zip_code', $thisauthor->ID); ?></li>
</ul>
<ul class="profile-info">
<li><strong>Phone:</strong> <?php echo get_user_field('profile_phone', $thisauthor->ID); ?></li>
<li><strong>Fax:</strong> <?php echo get_user_field('profile_fax', $thisauthor->ID); ?></li>
<li><strong>Email:</strong> <a href="mailto:<? echo $thisauthor->user_email; ?>"><? echo $thisauthor->user_email; ?></a></li>
<li><a href="<?php echo $thisauthor->user_url; ?>" target="_blank"><?php echo $thisauthor->user_url; ?></a></li>
</ul>
</article><!--end of .profile-details-->
<h3>Disciplines/Expertise/Services</h3>
<?php
function get_s2member_custom_fields($user_id) {
if($user_id === NULL)
$user_id = $theUserID;
$return = array();
$user = get_user_option('s2member_custom_fields', $user_id);
foreach ((array)json_decode($GLOBALS['WS_PLUGIN__']['s2member']['o']['custom_reg_fields'], true) as $field) {
if (isset($user[$field['id']])) {
$return[$field['id']]['label'] = $field['label'];
if (empty($field['options']))
$return[$field['id']]['value'] = $user[$field['id']];
else {
$field['options'] = strpos($field['options'], "\n") ? explode("\n", $field['options']) : (array)$field['options'];
foreach ($field['options'] as $option) {
$option = explode('|', $option);
$options[$option[0]] = $option[1];
}
foreach ((array)$user[$field['id']] as $choice)
$return[$field['id']]['options'][$choice] = $options[$choice];
}
}
}
return $return;
}
$s2_custom_fields = get_s2member_custom_fields($theUserID);
echo $var['profile_disciplines']['options'][0]['label'];
?>
<h3>Industries/Environments</h3>
<ul>
<li><?php echo get_user_field('profile_industries', $thisauthor->ID); ?></li>
</ul>
<h3>Experience</h3>
<p><?php echo get_user_field('profile_experience', $thisauthor->ID); ?></p>
<h3>Speaking Topics</h3>
<p><?php echo get_user_field('profile_speaking_topics', $thisauthor->ID); ?></p>
<h3>Prior Speaking Experience/Engagements</h3>
<p><?php echo get_user_field('profile_engagements', $thisauthor->ID); ?></p>
<h3>Publications</h3>
<p><?php echo get_user_field('profile_publications', $thisauthor->ID); ?></p>
<h3><a href="<?php echo get_permalink('72'); ?>">Disclosure</a></h3>
</article>
</aside><!--end of right-->
</article><!--end of content-->
</section><!--end of container-->
<?php get_footer(); ?>
I don’t see where I have the function being called multiple times.