• Rozwiązano JohnGib

    (@johngib)


    Witam, czy mógłby ktoś mi pomóc w odseparowaniu ostatniego wpisu od pozostałych? Nie chodzi mi o nadanie mu klasy i edycje poprzez CSS.
    Chciałbym umieścić go w całkiem innym miejscu (poza pętlą), a w pętli pobierać wpisy wykluczając ostatni.
    Pozdrawiam.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Witam.
    Być może istnieje jakieś bardziej eleganckie rozwiązanie, ja wyprodukowałem takie:
    1. Na stronie z postami, na której chcemy się pozbyć ostatniego wpisu, przed pętlą główna zaczynającą się od if ( have_posts() ) używamy takiego kodu:

    $tymczasowe_query=$wp_query;
    $ostatni_post=wp_get_recent_posts('1');
    $ostatni_post_ID= $ostatni_post['0']['ID'];
    $wp_query=$tymczasowe_query;
    query_posts(array('post__not_in'=>array($ostatni_post_ID)));

    Powinno zadziałać to tak jak na stronie głównej mojego poligonu – brak tam dzisiejszego wpisu 'Całkiem nowy wpis’.
    2. Na stronie na której chcemy mieć tylko jeden ostatni wpis, przed pętlą wyświetlającą posty, użyjemy takiego kodu:
    query_posts( 'posts_per_page=1' );
    Jeżeli chcemy ten pojedynczy wpis opublikować na stronie statycznej a nie blogu z postami, np. tak jak u mnie na stronie poligonu o nazwie ’strona z 1 wpisem’, stosujemy taki kod:

    $tymczasowe_query=$wp_query;
    query_posts( 'posts_per_page=1' ); while ( have_posts() ) : the_post();
    get_template_part( 'content', get_post_format() );  endwhile;
    $wp_query=$tymczasowe_query;

    w miejscu gdzie chcemy mieć nasz wpis – u mnie znajduje się on pod treścią strony.

    Oczywiście w przypadku stosowania tej metody w szablonach kategorii, lub stosowania wtyczek, ewentualnie innych kolejności, należy dostosować do już istniejących opcje wywołania query_posts(...tu opcje...) w obu przypadkach.

    Pozdrawiam

    Twórca wątku JohnGib

    (@johngib)

    Witam, dziękuje serdecznie! Twój sposób działa idealnie, napotkałem jednak problem podczas używania wtyczki WP-Navi, czy mógłbyś (lub ktoś inny) pomóc mi z pogodzeniem ze sobą metody tu opisanej przy użyciu tejże wtyczki?

    Witam.
    Zapewne problem wynika z tego, iż w podanej przeze mnie metodzie nie uwzględniłem parametrów wtyczki WP-Navi.
    Jak rozumiem dotyczy to stron, na których pomijasz pierwszy post.
    Aby dodać odpowiedni parametr wtyczki WP-Navi należy dodać do parametrów zapytania parametr 'paged’, np. tak:

    $tymczasowe_query=$wp_query;
    $ostatni_post=wp_get_recent_posts('1');
    $ostatni_post_ID= $ostatni_post['0']['ID'];
    $wp_query=$tymczasowe_query;
    query_posts(array('post__not_in'=>array($ostatni_post_ID), 'paged'=>$paged));

    Mam nadzieję, że to pomoże.
    W razie czego znalazłem jeszcze inną metodę, lecz musiałbym ją najpierw przetestować i gdyby obecna nie zadziałała, moglibyśmy zastanowić się nad tą nową.
    Jakby co to pisz.
    Pozdrawiam

    Twórca wątku JohnGib

    (@johngib)

    Dziękuje raz jeszcze, działa elegancko 🙂

Viewing 4 replies - 1 through 4 (of 4 total)
  • Temat ‘Rozdzielenie ostatniego wpisu od pozostałych’ jest zamknięty na nowe odpowiedzi.