Mam pętlę have_rows(). Jak nadać inny kolor co drugiemu elementowi? Użycie operatora modulo (%) i zmiennych licznika w PHP.
PL

Advanced custom fields (ACF) - Pola powtarzalne i stylowanie

5.00 /5 - (27 głosów )
Ostatnio zweryfikowano: 1 marca 2026
Doświadczenie: 19+ lat doświadczenia
Spis treści

Pole Powtarzalne (Repeater Field) w ACF to potężne narzędzie. Pozwala klientowi dodać dowolną liczbę elementów (np. “Nasi Partnerzy”, “Agenda”, “Składniki”) bez konieczności tworzenia osobnych postów.

Ale jak to wyświetlić i ostylować?

Podstawowa pętla

<?php if( have_rows('moj_repeater') ): ?>
    <ul class="slides">
    <?php while( have_rows('moj_repeater') ): the_row(); 
        $image = get_sub_field('obrazek');
        $content = get_sub_field('tekst');
        ?>
        <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; ?>

Wyzwanie: “Zebra” (co drugi element inny)

Często designerzy chcą, aby np. co drugi blok miał ciemne tło. Jak to zrobić w pętli? Użyj zmiennej licznika ($i) i operatora modulo (%).

<?php if( have_rows('sekcje') ): 
    $i = 0; // Inicjujemy licznik
?>
    <div class="sections-container">
    <?php while( have_rows('sekcje') ): the_row(); 
        $i++; // Zwiększamy licznik
        // Sprawdzamy czy parzysty
        $klasa = ($i % 2 == 0) ? 'bg-dark' : 'bg-light';
    ?>
        
        <div class="row <?php echo $klasa; ?>">
            <!-- Treść sekcji -->
        </div>

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

CSS n-th child (alternatywa)

W 2026 roku często lepiej zrobić to w CSS, jeśli różnice są czysto wizualne:

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

Używaj rozwiązania PHP tylko wtedy, gdy parzystość wpływa na strukturę HTML lub ładowane zasoby.

FAQ do artykułu

Często zadawane pytania

Najważniejsze odpowiedzi, które pomagają wdrożyć temat w praktyce.

SEO-ready GEO-ready AEO-ready 3 Q&A
Czym jest Advanced custom fields (ACF) - Pola powtarzalne i stylowanie?
Advanced custom fields (ACF) - Pola powtarzalne i stylowanie ma znaczenie, gdy chcesz stabilniejszy WordPress, lepszą wydajność i mniej problemów produkcyjnych.
Jak wdrożyć Advanced custom fields (ACF) - Pola powtarzalne i stylowanie?
Zacznij od audytu stanu obecnego, ustal zakres i ograniczenia, a potem wdrażaj zmiany małymi, mierzalnymi krokami.
Dlaczego Advanced custom fields (ACF) - Pola powtarzalne i stylowanie jest ważne?
Największe efekty dają zwykle poprawa jakości technicznej, czytelna struktura treści i regularna weryfikacja.

Potrzebujesz FAQ dopasowanego do branży i rynku? Przygotujemy wersję pod Twoje cele biznesowe.

Porozmawiajmy

Polecane artykuły