Wsparcie » Używanie i konfiguracja WordPressa » Jak wyświetlić co dziesiąty wpis?

  • Potrzebuję stworzyć menu za pomocą pętli i query_post, w którym pojawiać się będzie co dziesiąty wpis z jednej kategorii. Powinno to wyglądać tak:

    wpis 1 (ewentualnie 1 można sobie darować)
    wpis 10
    wpis 20
    wpis 30
    itd

    Niestety query_post jest funkcja OFFSET, ale ona daje możliwość schowania danej ilości wpisów. Wiecie jak temu zaradzić?

Viewing 1 replies (of 1 total)
  • Nie wiem czy to będzie dobre rozwiązanie w tym przypadku, ale mógłbyś użyć MODULO do pobrania co 10 wpisu z bazy:

    Np.:

    SELECT * FROM table WHERE id % 10 = 0

    To będzie chyba najprostsze, o ile można się odwoływać do bazy danych bezpośrednio w motywie (eeeee..) lub przynajmniej w pliku function.php

    Innym pomysłem, o którym pomyślałem jest napisanie pętli for, która wyrzuci wszystkie możliwe numery ID, już po modulacji, czyli co 10’ąte.

    $published_posts = wp_count_posts()->publish;
    
    for( $i=1; $i<=$published_posts; $i++)
    {
        if($i % 10 == 0)
        {
            echo ",".$i;
        }
    }

    I wtedy dopiero:

    query_posts( 'p=1$i' );

    Co da Ci wynik:

    query_posts( 'p=1,10,20,30,40,50,60,70,80' )

    Jeżeli miałeś 80 wpisów.

    Wtedy masz pierwszy wpis i kolejno co dziesiąty. Jeżeli masz już ID, możesz zrobić wszystko.

    Mam nadzieje, że brzmi sensownie 😉

    Proszę mnie oczywiście poprawić jeżeli to sie robi w inny sposób, bo też chciałbym wiedzieć.

Viewing 1 replies (of 1 total)
  • Temat ‘Jak wyświetlić co dziesiąty wpis?’ jest zamknięty na nowe odpowiedzi.