# Sistema de Serviços Dinâmicos - EMSOFT Theme

## Visão Geral

O sistema de serviços dinâmicos permite gerenciar e exibir os serviços da empresa através de uma interface administrativa no WordPress, substituindo o conteúdo estático por um sistema flexível e facilmente editável.

## Como Funciona

### Para Administradores

#### 1. Acessando os Serviços
- No painel administrativo do WordPress, vá para **Serviços** no menu lateral
- Aqui você pode ver, criar, editar e gerenciar todos os serviços

#### 2. Criando um Novo Serviço
1. Clique em **Adicionar Novo**
2. Preencha os campos:
   - **Título**: Nome do serviço (ex: "Primavera ERP")
   - **Descrição**: Texto completo descrevendo o serviço
   - **Resumo**: Descrição breve (usado na página inicial)

#### 3. Configurações do Serviço
No meta box "Configurações do Serviço":

- **Classe do Ícone**: Código do ícone FontAwesome (ex: `fas fa-briefcase`)
- **URL do Link**: Link para onde o botão "Saiba Mais" deve levar
- **Ordem de Exibição**: Número para ordenar os serviços (0, 1, 2, 3...)
- **Delay de Animação**: Tempo de delay para animação AOS (em ms)
- **Serviço em Destaque**: Marque para exibir na página inicial

#### 4. Definindo Ícones
Use classes do FontAwesome:
- `fas fa-briefcase` - Maleta/Negócios
- `fas fa-laptop-code` - Laptop/Programação
- `fas fa-graduation-cap` - Formação/Educação
- `fas fa-headset` - Suporte/Atendimento
- `fas fa-cogs` - Configurações/Sistemas
- `fas fa-chart-line` - Gráficos/Analytics

**Dica**: Visite [fontawesome.com/icons](https://fontawesome.com/icons) para mais opções

#### 5. Ordenação e Exibição
- Os serviços são ordenados pelo campo "Ordem de Exibição"
- Apenas serviços marcados como "Em Destaque" aparecem na página inicial
- Máximo de 4 serviços são exibidos por vez

### Sistema de Fallback

Se não houver serviços cadastrados ou nenhum estiver marcado como destaque, o sistema automaticamente exibe os serviços padrão estaticamente codificados.

## Estrutura dos Campos

### Campos Principais
- `post_title` - Título do serviço
- `post_content` - Descrição completa
- `post_excerpt` - Resumo breve

### Meta Fields Personalizados
- `_service_icon` - Classe do ícone FontAwesome
- `_service_url` - URL externa relacionada ao serviço (campo opcional/referência)
- `_service_order` - Ordem de exibição (número)
- `_service_delay` - Delay da animação AOS (milissegundos)
- `_service_is_featured` - Se o serviço está em destaque (1/0)

**IMPORTANTE**: Os links "Saiba Mais" sempre direcionam para a página individual do serviço (`single-service.php`), independentemente do valor do campo `_service_url`.

## Recursos Incluídos

### ✅ Interface Administrativa
- Custom Post Type "Serviços"
- Meta boxes com campos personalizados
- Colunas personalizadas na listagem
- Validação e sanitização de dados

### ✅ Sistema de Fallback
- Exibe serviços estáticos se não houver dinâmicos
- Previne páginas vazias
- Migração suave do sistema antigo

### ✅ Otimizações
- Consultas eficientes ao banco de dados
- Cache de meta dados
- Validação de entrada
- Escape de saída para segurança

### ✅ Flexibilidade
- Suporte a qualquer ícone FontAwesome
- URLs personalizáveis
- Controle total sobre a ordem
- Animações configuráveis

## Instalação Automática

Os serviços padrão são criados automaticamente quando:
1. O tema é ativado pela primeira vez
2. Não existem serviços cadastrados

### Serviços Padrão Criados:
1. **Primavera ERP** - `fas fa-briefcase`
2. **XD Software** - `fas fa-laptop-code`
3. **Formação** - `fas fa-graduation-cap`
4. **Suporte Técnico** - `fas fa-headset`

## Melhores Práticas

### Para Conteúdo
- Use títulos concisos e claros
- Mantenha resumos entre 80-120 caracteres
- Escreva descrições detalhadas no conteúdo principal
- Use terminologia consistente

### Para Configuração
- Mantenha a ordem lógica (0, 1, 2, 3...)
- Use delays de animação em incrementos de 100ms
- Teste URLs antes de publicar
- Use ícones que fazem sentido para cada serviço

### Para Performance
- Marque apenas os serviços essenciais como "Em Destaque"
- Mantenha no máximo 4-6 serviços em destaque
- Use imagens otimizadas se adicionar imagens destacadas

## Personalização Avançada

### Para Desenvolvedores
O sistema é facilmente extensível:

1. **Adicionar Novos Campos**: Edite `emsoft_service_meta_box_callback()`
2. **Modificar Exibição**: Edite o loop no `front-page.php`
3. **Alterar Consulta**: Modifique `emsoft_get_featured_services()`
4. **Personalizar Colunas**: Edite `emsoft_service_columns()`

### Hooks Disponíveis
- `emsoft_before_services_query` - Antes da consulta de serviços
- `emsoft_after_services_query` - Depois da consulta de serviços
- `emsoft_service_meta_save` - Ao salvar meta dados

## Troubleshooting

### Serviços Não Aparecem
1. Verifique se estão marcados como "Em Destaque"
2. Confirme se estão publicados (não rascunho)
3. Verifique a ordem de exibição

### Ícones Não Aparecem
1. Confirme se a classe está correta (ex: `fas fa-briefcase`)
2. Verifique se o FontAwesome está carregado
3. Teste com ícones básicos primeiro

### Links Não Funcionam
1. Use URLs completas (http://...)
2. Para páginas internas, use URLs relativos (/servicos/...)
3. Teste os links em nova aba

## Suporte

Para suporte técnico ou dúvidas sobre personalização, entre em contato com a equipe de desenvolvimento EMSOFT.
