post_content, 'academiccrew_member_card' ) ) { return; } wp_enqueue_style( 'academiccrew-members-archive', ACADEMICCREW_URL . 'assets/css/members-archive.css', [ 'fusion-stylesheet', 'tabler-icons' ], ACADEMICCREW_VERSION ); } public function render( array $atts ): string { $atts = shortcode_atts( [ 'member_id' => '', 'show_bio' => 'no', ], $atts, 'academiccrew_member_card' ); $member_id = (int) $atts['member_id']; if ( ! $member_id ) { return '
' . esc_html__( 'Please specify a member_id attribute.', 'academiccrew' ) . '
'; } $post = get_post( $member_id ); if ( ! $post || $post->post_type !== 'academiccrew_member' ) { return ''; } wp_enqueue_style( 'academiccrew-members-archive', ACADEMICCREW_URL . 'assets/css/members-archive.css', [ 'fusion-stylesheet', 'tabler-icons' ], ACADEMICCREW_VERSION ); $get = fn( string $key ) => get_post_meta( $member_id, $key, true ); $role = $get( '_acc_member_role' ) ?: 'collaborator'; $colors = RoleRegistry::colors()[ $role ] ?? [ 'bg' => '#f0f0f0', 'text' => '#333', 'dot' => '#888' ]; $avatar_url = $get( '_acc_avatar_url' ) ?: ( get_the_post_thumbnail_url( $member_id, 'medium' ) ?: '' ); $portrait_class = 'acc-portrait' . ( $avatar_url ? '' : ' is-initials' ); $linked_page_id = (int) $get( '_academiccrew_linked_page_id' ); $page_url = $linked_page_id ? get_permalink( $linked_page_id ) : get_permalink( $member_id ); $bio = $get( '_acc_bio' ); $affiliation = $get( '_acc_affiliation' ) ?: ''; $areas_raw = $get( '_acc_research_areas' ); $areas = is_array( $areas_raw ) ? $areas_raw : array_filter( array_map( 'trim', explode( ',', $areas_raw ?: '' ) ) ); $archive_url = get_permalink( (int) get_option( 'academiccrew_members_archive_page_id', 0 ) ) ?: ''; ob_start(); ?>