attendee_id) ? $attendee->attendee_id :
(isset($attendee->ID) ? $attendee->ID : 0);
} else {
$attendee_id = intval($attendee);
}
if (!$attendee_id) {
return '';
}
// Get profile page URL
$profile_page = get_page_by_path('attendee-profile');
if (!$profile_page) {
return '';
}
$profile_url = add_query_arg('attendee_id', $attendee_id, get_permalink($profile_page->ID));
// Default link text
if (empty($link_text)) {
$link_text = __('View Profile', 'hvac-community-events');
}
// Build classes
$class_list = array('hvac-attendee-profile-link');
if (!empty($classes)) {
$class_list = array_merge($class_list, (array)$classes);
}
// Generate link
return sprintf(
'%s ',
esc_url($profile_url),
esc_attr(implode(' ', $class_list)),
esc_attr__('View attendee profile', 'hvac-community-events'),
esc_html($link_text)
);
}
/**
* Generate a small icon link to view an attendee's profile
*
* @param int|object $attendee Attendee ID or attendee object
* @return string HTML icon link to attendee profile
*/
function hvac_get_attendee_profile_icon($attendee) {
// Get attendee ID
$attendee_id = 0;
if (is_object($attendee)) {
$attendee_id = isset($attendee->attendee_id) ? $attendee->attendee_id :
(isset($attendee->ID) ? $attendee->ID : 0);
} else {
$attendee_id = intval($attendee);
}
if (!$attendee_id) {
return '';
}
// Get profile page URL
$profile_page = get_page_by_path('attendee-profile');
if (!$profile_page) {
return '';
}
$profile_url = add_query_arg('attendee_id', $attendee_id, get_permalink($profile_page->ID));
// Generate icon link
return sprintf(
'',
esc_url($profile_url),
esc_attr__('View attendee profile', 'hvac-community-events')
);
}
/**
* Add profile link styles to pages that show attendee lists
*/
function hvac_attendee_profile_link_styles() {
?>