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() { ?>