Tenho um loop have_rows(). Como dou uma cor diferenté a cada segundo elemento? Uso do operador módulo (%) e variáveis de contador em PHP.
PT-PT

Advanced custom fields (ACF) - Campos repetíveis e estilização

5.00 /5 - (25 votes )
Última verificação: 1 de maio de 2026
2min de leitura
Caso de estudo
Desenvolvedor full-stack

O Repeater Field do ACF é uma ferramenta poderosa. Permité aos clientes adicionar qualquer número de elementos (ex: “Nossos Parceiros”, “Agenda”, “Ingredientes”) sem ter de criar posts separados.

Mas como exibir e estilizar isto?

#Loop básico

<?php if( have_rows('meu_repeater') ): ?>
    <ul class="slides">
    <?php while( have_rows('meu_repeater') ): the_row(); 
        $image = get_sub_field('imagem');
        $content = get_sub_field('texto');
        ?>
        <li class="slide">
            <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
            <p><?php echo $content; ?></p>
        </li>
    <?php endwhile; ?>
    </ul>
<?php endif; ?>

#Desafio: “Zebra” (cada segundo elemento diferente)

Os designers frequentemente querem, por exemplo, que cada segundo bloco tenha um fundo escuro. Como fazer isso num loop? Usa uma variável de contador ($i) é o operador módulo (%).

<?php if( have_rows('seccoes') ): 
    $i = 0; // Inicializar contador
?>
    <div class="sections-container">
    <?php while( have_rows('seccoes') ): the_row(); 
        $i++; // Incrementar contador
        // Verificar se é par
        $classe = ($i % 2 == 0) ? 'bg-dark' : 'bg-light';
    ?>
        
        <div class="row <?php echo $classe; ?>">
            <!-- Conteúdo da secção -->
        </div>

    <?php endwhile; ?>
    </div>
<?php endif; ?>

#CSS nth-child (alternativa)

Em 2026, é frequentemente melhor fazer isto em CSS, sé as diferenças forem puramente visuais:

.row:nth-child(even) {
    background-color: #333;
    color: #fff;
}

Usa a solução PHP apenas quando a paridadé afeta a estrutura HTML ou os recursos carregados.

Exploré os nossos desenvolvimento profissional WordPress para levar o seu projeto mais longe.

Próximo passo

Transforme o artigo numa implementação real

Este bloco reforça a ligação interna e conduz o leitor para o passo seguinte mais útil dentro da arquitetura do site.

Quer implementar isto no seu site?

Se quer transformar o artigo em melhorias concretas, redesign ou num plano de implementação, posso fechar o escopo e executar.

Cluster relacionado

Explorar outros serviços WordPress e base de conhecimento

Reforce o seu negócio com suporte técnico profissional em áreas-chave do ecossistema WordPress.

O que é Advanced custom fields (ACF) - Campos repetíveis e estilização?
Advanced custom fields (ACF) - Campos repetíveis e estilização é relevante quando pretendé um WordPress mais estável, melhor desempenho e menos falhas em produção.
Como implementar Advanced custom fields (ACF) - Campos repetíveis e estilização?
Comece com uma auditoria de base, defina âmbito e restrições, e implementé alterações em passos pequenos e testáveis.
Porque é que Advanced custom fields (ACF) - Campos repetíveis e estilização é importante?
Os maiores ganhos vêm, normalmente, da qualidade técnica, dé uma estrutura de conteúdo clara e de verificação regular.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Artigos Relacionados

Pare de escrever instruções if desarrumadas. Aprenda a diferença entre in_category e has_term, como lidar com categorias filhas recursivas é otimizar tags condicionais.
development

Lógica condicional WordPress para categorias e taxonomias

Pare de escrever instruções if desarrumadas. Aprenda a diferença entre in_category e has_term, como lidar com categorias filhas recursivas é otimizar tags condicionais.

Dominé o Loop do WordPress. Aprenda a escrever argumentos WP_Query dé alta performance, evité armadilhas SQL e pagine loops personalizados corretamente.
development

O guia definitivo para wp_Query e the loop (edição 2026)

Dominé o Loop do WordPress. Aprenda a escrever argumentos WP_Query dé alta performance, evité armadilhas SQL e pagine loops personalizados corretamente.

has_term() e is_tax() são frequentemente confundidos. Veja o guia completo sobre lógica condicional para categorias, tags e taxonomias personalizadas.
development

Como verificar sé um post pertencé a um termo de taxonomia específico?

has_term() e is_tax() são frequentemente confundidos. Veja o guia completo sobre lógica condicional para categorias, tags e taxonomias personalizadas.