Jak wykluczyć najnowszy post z pętli postów WordPress

Czy chcesz wykluczyć najnowszy post z pętli postów WordPress?

Pozwala to wybrać, czy najnowszy post na blogu ma być wyświetlany na stronie głównej, czy na innych stronach, na których są wyświetlane posty na blogu.

W tym artykule pokażemy, jak wykluczyć najnowszy post z pętli postów WordPress.

How to exclude latest post from the WordPress post loop

Dlaczego wykluczyć najnowszy Post z pętli postów WordPress?

Wyłączanie ostatniego postu podczas wyświetlania innych artykułów może być pomocne podczas edytowania motywu i chcesz mieć większą kontrolę nad tym, jak wyświetla się pierwszy post.

Na przykład twój pierwszy post może mieć inne formatowanie lub nie być odpowiedni do umieszczenia na domyślnym blogu WordPress.

Mając to na uwadze, pokażmy, jak wykluczyć najnowszy post z pętli postów WordPress za pomocą dwóch różnych metod.

Metoda 1. Wyklucz najnowszy Post z pętli postów WordPress, dodając nową funkcję WordPress

Najprostszym sposobem na wykluczenie najnowszego posta z pętli postów jest dodanie kodu do plików WordPress. Jeśli nie robiłeś tego wcześniej, sprawdź nasz przewodnik, jak skopiować i wkleić kod w WordPress.

Możesz dodać poniższy fragment kodu do swoich funkcji.plik php, we wtyczce specyficznej dla witryny lub za pomocą wtyczki urywki kodu.

function wpsites_exclude_latest_post ($query ) {
	if ($query - >is_home () & & $query->is_main_query() ) {
		$query - > set ('offset',' 1');
	}
}

add_action ('pre_get_posts', 'wpsites_exclude_latest_post', 1) ;

Ten kod wykluczy wyświetlanie najnowszego posta w pętli strony głównej. Na offset jest ustawiony na jeden, więc tylko pierwszy post będzie ukryty.

add_action ('pre_get_posts', 'myprefix_query_offset', 1 );
function myprefix_query_offset (&$query) {

    // Przed czymkolwiek innym, upewnij się, że jest to właściwe zapytanie...
    jeśli ( ! $query->is_home() ) {
        return;
    }

    // Najpierw określ żądany offset...
    $offset = 1;
    
    // Następnie określ, ile postów na stronie chcesz (użyjemy ustawień WordPressa)
    $ppp = get_option ('posts_per_page');

    // Następnie Wykryj i obsłuż paginację...
    if ($query - >is_paged) {

        // Ręcznie określ offset zapytania strony (offset + bieżąca strona (minus jeden) x postów na stronę)
        $page_offset = $offset + (($query - >query_vars['paged']-1) * $ppp );

        // Zastosuj dostosuj przesunięcie strony
        $query- > set ('offset', $page_offset );

    }
    else {

        // To jest pierwsza strona. Użyj offsetu...
        $query- > set ('offset',$offset);

    }
}

Ten fragment kodu ustawi offset ponownie do 1. Ale dodaje również offset i wprowadza paginację. Tutaj mówi nasze archiwum bloga, aby pominąć pierwszy post.

add_filter ('found_posts', 'myprefix_adjust_offset_pagination', 1, 2 );
function myprefix_adjust_offset_pagination ($found_posts, $query) {

    // Zdefiniuj ponownie nasz offset...
    $offset = 1;

    // Upewnij się, że modyfikujemy właściwy obiekt zapytania...
    if ($query->is_home() ) {
        // Zmniejsz liczbę znalezionych postów WordPressa o przesunięcie... 
        return $found_posts - $offset;
    }
    return $found_posts;
}

Ostateczny fragment kodu definiuje Twój offset jeszcze raz. Dodatkowo zapewnia, że paginacja będzie działać poprawnie.

Po dodaniu powyższych fragmentów kodu najnowszy post zostanie teraz usunięty z pętli postów WordPress.

Metoda 2. Wyklucz najnowszy Post z pętli postów WordPress, zmieniając pliki motywów WordPress

Innym sposobem na wykluczenie najnowszego postu z pętli postów WordPress jest dodanie jednej linii kodu do plików motywów WordPress.

Osiąga to podobny wynik do powyższego kodu, ale musisz dodać go bezpośrednio do pętli WordPress, w której chcesz ją wyświetlić.

Tak więc, jeśli chcesz zmienić pętlę post w całym serwisie, dodasz ją do swojego indeks.php plik.

Uwaga: Dodanie tego kodu do plików WordPress może powodować problemy z paginacją w Twojej witrynie.

Najpierw musisz skopiować i wkleić następujący kod i dodać go do pętli WordPress.

query_posts ('posts_per_page=6&offset=1');

Kod ten wykorzystuje zapytanie parametr i informowanie pętli, aby wyświetlała tylko 5 postów, które podążają za najnowszym postem. Na offset parametr zatrzymuje wyświetlanie ostatniego postu.

Przejdzie bezpośrednio nad pętlą post WordPress, więc będzie wyglądać podobnie do poniższego fragmentu kodu.

 
query_posts ('posts_per_page=6&offset=1');
if ( have_posts() ) :
while ( have_posts() ) : the_post(); 
endwhile;

Po dostosowaniu i zapisaniu pliku musisz przesłać go do katalogu motywów na koncie hostingowym WordPress.

Aby to zrobić, możesz użyć klienta FTP lub opcji menedżera plików w Panelu sterowania hostingu WordPress.

Jeśli wcześniej nie korzystałeś z FTP, możesz zapoznać się z naszym przewodnikiem, jak używać FTP do przesyłania plików do WordPress.

Po dodaniu kodu najnowszy post WordPress zostanie wykluczony z pętli postów WordPress i nie pojawi się na stronie bloga.

Mamy nadzieję, że ten artykuł pomógł Ci dowiedzieć się, jak wykluczyć najnowszy post z pętli WordPress. Możesz również zapoznać się z naszym przewodnikiem, jak wybrać najlepszego rejestratora nazw domen, a nasz ekspert wybiera najlepsze alternatywy GoDaddy.

Jeśli podoba Ci się ten artykuł, zasubskrybuj nasz kanał YouTube dla samouczków wideo WordPress. Znajdziesz nas również na Twitterze i Facebooku.

You May Also Like

Szalunki przy budowie domów – co warto wiedzieć?

W artykule: Czym są szalunki budowlane?Z czego wykonywane są szalunki? Budowa domu…

21 najlepsze motywy WordPress dla Organizacji Non-Profit

W artykule: Wykonanie strony internetowej dla Organizacji Non-Profit1. Astra2. OceanWP3. Outreach Pro4.…

Newsy-Elegancki Temat Wiadomości, Który Pozwala Zarabiać Pieniądze

W artykule: Pełna lista funkcji11 Opcji Układu Strony4 Układy Pojedynczych Postów /…

26 najlepszych przyjaznych dla Gutenberga motywów WordPress

W artykule: Jak znaleźć najlepsze tematy przyjazne Gutenbergowi?1. Astra2. Hestia Pro3. Divi4.…