'Alessandro Pontes da Silva', 'secretaria' => 'SEFIN', 'setor' => 'Departamento de Informática', 'profissao' => 'Técnico em informática', 'funcao' => 'Técnico em informática', 'foto' => 'alessandro.jpg', 'contato' => ['email' => 'nome@trescoracoes.mg.gov.br', 'telefone' => '123-456-7890'], 'status' => 'online', 'localizacao' => 'Centro Administrativo', 'pais' => 'Brasil' ], [ 'nome' => 'Alisson Ribeiro Batista', 'secretaria' => 'SEFIN', 'setor' => 'Departamento de Informática', 'profissao' => 'Técnico em informática', 'funcao' => 'Diretor de informática', 'foto' => 'alisson.jpg', 'contato' => ['email' => 'nome@trescoracoes.mg.gov.br', 'telefone' => '123-456-7890'], 'status' => 'online', 'localizacao' => 'Centro Administrativo', 'pais' => 'Brasil' ], [ 'nome' => 'Heleno Carvalho Paralovo', 'secretaria' => 'SEDUC', 'setor' => 'Departamento de Informática', 'profissao' => 'Chefe em informática', 'funcao' => 'Técnico em informática', 'foto' => 'helno.jpg', 'contato' => ['email' => 'nome@trescoracoes.mg.gov.br', 'telefone' => '123-456-7890'], 'status' => 'offline', 'localizacao' => 'Centro Administrativo - SEDUC', 'pais' => 'Brasil' ], [ 'nome' => 'Paulo Henrique Lopes', 'secretaria' => 'SEMMA', 'setor' => 'Defesa Civil', 'profissao' => 'Coordenador - Defesa Civil', 'funcao' => 'Coordenador - Defesa Civil', 'foto' => 'paulo_henrique.jpeg', 'contato' => ['email' => 'nome@trescoracoes.mg.gov.br', 'telefone' => '123-456-7890'], 'status' => 'online', 'localizacao' => 'Centro Administrativo', 'pais' => 'Brasil' ] ]; // Configurações de paginação $membros_por_pagina = 4; $pagina_atual = isset($_GET['pagina']) ? max(1, intval($_GET['pagina'])) : 1; $total_membros = count($membros); $total_paginas = ceil($total_membros / $membros_por_pagina); $indice_inicial = ($pagina_atual - 1) * $membros_por_pagina; $membros_paginados = array_slice($membros, $indice_inicial, $membros_por_pagina); // HTML de saída $output = '
'; // Filtros e busca $output .= '
'; $output .= '
'; $output .= ''; $output .= ''; $output .= '
'; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= '
'; // Alfabeto $output .= '
'; foreach (range('A', 'Z') as $letra) { $output .= ''; } $output .= '
'; // Lista de membros (todos, mas inicialmente apenas os da página atual visíveis) $output .= '
'; foreach ($membros as $index => $membro) { $foto_url = plugins_url('images/' . $membro['foto'], __FILE__); $display_style = ($index >= $indice_inicial && $index < $indice_inicial + $membros_por_pagina) ? '' : 'display: none;'; $output .= '
'; $output .= '
' . esc_attr($membro['nome']) . '
'; $output .= '
'; $output .= '

' . esc_html($membro['nome']) . '

'; $output .= '

Secretaria: ' . esc_html($membro['secretaria']) . '

'; $output .= '

Setor: ' . esc_html($membro['setor']) . '

'; $output .= '

Função: ' . esc_html($membro['funcao']) . '

'; $output .= '
'; $output .= ''; $output .= ''; $output .= '
'; $output .= '
'; } $output .= '
'; // Paginação if ($total_paginas > 1) { $output .= '
'; if ($pagina_atual > 1) { $output .= '« Primeira'; } for ($i = max(1, $pagina_atual - 2); $i < $pagina_atual; $i++) { $output .= '' . $i . ''; } $output .= '' . $pagina_atual . ''; for ($i = $pagina_atual + 1; $i <= min($pagina_atual + 2, $total_paginas); $i++) { $output .= '' . $i . ''; } if ($pagina_atual < $total_paginas) { $output .= 'Última »'; } $output .= '
'; } // Estilos CSS (mantenha os mesmos) $output .= ''; // JavaScript modificado $output .= ''; $output .= '
'; return $output; } add_shortcode('membros_empresa', 'exibir_membros_empresa'); ?>