Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

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

Kiedy pomagamy użytkownikom w konfiguracji ich blogów WordPress, często pytają o dostosowanie układu, zwłaszcza o to, jak sprawić, by najnowszy post naprawdę się wyróżniał.

Czasami nie chcesz, aby najnowszy wpis po prostu zniknął w reszcie kanału bloga. Możesz mieć na myśli specjalny projekt lub potrzebować, aby pojawił się w zupełnie innym miejscu.

Właśnie dlatego wykluczenie najnowszego posta z pętli postów WordPress jest przydatne. Daje to elastyczność w wyświetlaniu tych najnowszych treści w dowolny sposób. W tym przewodniku pokażemy dwa sposoby wykluczenia najnowszego posta z pętli postów WordPress.

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

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

Domyślnie WordPress wyświetla Twoje posty na blogu odwiedzającym w odwrotnej kolejności chronologicznej, więc nowsze posty pojawiają się najpierw. Możesz jednak chcieć zmienić wygląd najnowszego posta na swojej niestandardowej stronie głównej lub stronie archiwum WordPress.

Wykluczając najnowszy post z pętli postów WordPress, możesz wyświetlić tę treść w innej lokalizacji, a nawet dodać własne niestandardowe style.

Mając to na uwadze, zobaczmy, jak możesz ukryć najnowszy wpis na blogu, wykluczając go z pętli wpisów WordPress. Po prostu użyj poniższych szybkich linków, aby przejść bezpośrednio do metody, której chcesz użyć:

Najprostszym sposobem na wykluczenie najnowszego wpisu z pętli wpisów jest dodanie kodu do Twojej strony WordPress.

Niektórzy przewodnicy zalecają ręczną edycję plików motywu, ale może to spowodować częste błędy WordPress i może nawet całkowicie zepsuć Twoją stronę internetową.

Z tego powodu zalecamy używanie WPCode. Jest to najlepszy wtyczka do fragmentów kodu, która ułatwia dodawanie niestandardowego kodu w WordPress bez narażania witryny na ryzyko.

Najpierw musisz zainstalować i aktywować darmową wtyczkę WPCode. Więcej informacji znajdziesz w naszym przewodniku krok po kroku jak zainstalować wtyczkę WordPress.

Po aktywacji wtyczki przejdź do Code Snippets » + Add Snippet.

Dodawanie niestandardowych fragmentów kodu do WordPress

Tutaj zobaczysz wszystkie gotowe fragmenty, które możesz dodać do swojej witryny. Obejmują one fragment, który pozwala całkowicie wyłączyć komentarze, typy plików do przesłania, których WordPress zazwyczaj nie obsługuje, wyłączyć strony załączników i wiele więcej.

Teraz możesz najechać kursorem myszy na opcję „Dodaj własny kod (nowy fragment)” i kliknąć przycisk „+ Dodaj fragment własny”, gdy się pojawi.

Kliknij przycisk Dodaj fragment własny

Następnie wybierz „Fragment PHP” jako typ kodu z listy opcji wyświetlanych na ekranie.

Wybierz Fragment PHP jako typ kodu

Na następnej stronie wpisz tytuł fragmentu kodu. Jest to tylko do Twojej wiadomości, więc możesz użyć czegokolwiek chcesz.

Wykluczanie najnowszego wpisu z pętli postów WordPress

Po wykonaniu tego po prostu wklej poniższy kod w polu „Podgląd kodu”:

<?php
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 );

Po tym przewiń stronę w dół do sekcji „Wstawianie”.

Jeśli nie jest jeszcze zaznaczone, wybierz „Automatyczne wstawianie” i „Uruchom wszędzie”.

Automatyczne wstawianie kodu do strony internetowej WordPress

Na koniec przewiń do góry ekranu i kliknij suwak „Nieaktywny”, aby wyświetlił się „Aktywny”.

Następnie kliknij przycisk „Zapisz fragment” lub „Aktualizuj”, aby fragment kodu stał się aktywny.

Wykluczanie najnowszego wpisu z pętli postów WordPress za pomocą WPCode

Teraz, jeśli odwiedzisz swoją stronę internetową WordPress, najnowszy wpis na blogu będzie ukryty.

Metoda 2: Edycja plików motywu WordPress (bez wtyczki)

Uwagi: Ten samouczek będzie działać tylko z klasycznymi motywami WordPress, ponieważ motywy blokowe mają inny zestaw plików motywu. Jeśli używasz motywu blokowego, sugerujemy skorzystanie z pierwszej metody.

Zalecamy również wykonanie kopii zapasowej swojej witryny lub użycie środowiska stagingowego, aby zapobiec błędom podczas stosowania tej metody.

Innym sposobem na wykluczenie najnowszego wpisu z pętli wpisów WordPress jest dodanie kodu do plików motywu WordPress.

Osiąga to podobny rezultat do powyższego kodu, ale będziesz musiał dodać go bezpośrednio do pętli WordPress tam, gdzie chcesz, aby się wyświetlał.

Na przykład, jeśli chcesz zmienić pętlę postów na całej swojej stronie, musisz dodać kod do pliku index.php.

Pamiętaj tylko, że dodawanie kodu bezpośrednio do plików WordPress może potencjalnie powodować problemy z paginacją na Twoim blogu WordPress.

Najpierw musisz otworzyć menedżer plików swojego dostawcy hostingu WordPress lub połączyć swoją stronę z klientem FTP.

W tym samouczku użyjemy menedżera plików Bluehost, ponieważ proces jest znacznie łatwiejszy niż używanie FTP. Niemniej jednak kroki są mniej więcej takie same, niezależnie od tego, czy używasz FTP, czy innego hostingu internetowego.

Jeśli jesteś użytkownikiem Bluehost, zaloguj się do panelu swojego hostingu i przejdź do zakładki „Witryny”. Następnie kliknij „Ustawienia” na stronie internetowej, którą chcesz edytować.

Ustawienia witryny Bluehost

Teraz przejdź do sekcji Szybkie linki.

Następnie kliknij przycisk „Menedżer plików”. Bluehost pokazuje również katalog główny Twojej witryny, jeśli go potrzebujesz.

Dostęp do menedżera plików strony internetowej w Bluehost

Gdy już znajdziesz się w menedżerze plików, musisz zlokalizować plik, który chcesz edytować. Załóżmy, że chcesz dodać kod do pliku index.php, znajdziesz go w folderze bieżącego motywu, który znajduje się w public_html/wp-content.

Tam po prostu kliknij prawym przyciskiem myszy na plik index.php i wybierz „Edytuj”.

Otwieranie pliku index.php w menedżerze plików Bluehost

Teraz musisz skopiować poniższy kod i dodać go do swojej pętli WordPressa:

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

Ten kod mówi pętli, aby wyświetlała tylko 5 wpisów po ostatnim wpisie.

Będziesz musiał dodać kod bezpośrednio nad pętlą WordPress, aby wyglądał podobnie do poniższego fragmentu kodu:

<?php
query_posts('posts_per_page=6&offset=1');
if ( have_posts() ) {

	// Load posts loop.
	while ( have_posts() ) {
		the_post();

		get_template_part( 'template-parts/content/content', get_theme_mod( 'display_excerpt_or_full_post', 'excerpt' ) );
	}

	// Previous/next page navigation.
	twenty_twenty_one_the_posts_navigation();

} else {

	// If no content, include the "No posts found" template.
	get_template_part( 'template-parts/content/content-none' );

}

Oto jak wygląda nasz kod w menedżerze plików Bluehost:

Dodawanie kodu do wykluczenia najnowszego posta w menedżerze plików Bluehost

Po dodaniu kodu kliknij przycisk „Zapisz zmiany”.

Następnie przejdź do podglądu swojej witryny WordPress.

Dowiedz się więcej wskazówek i sztuczek do zarządzania postami w WordPress

Chcesz dalej optymalizować swojego bloga WordPress? Sprawdź te poradniki:

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 na temat masowego dodawania postów i stron w WordPress oraz naszymi ekskluzywnymi wyborami najlepszych wtyczek do powiązanych postów dla WordPress.

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

41 CommentsLeave a Reply

  1. Hej chłopaki, dzięki za ten artykuł! Chcę to zaimplementować, ale za każdym razem, gdy próbuję, mam dziwny problem: wpisy wyglądają dokładnie jak strona główna, pokazując listę najnowszych postów zamiast samego posta. Mój kod jest nieco inny, ponieważ jest to SMTheme. Będę wdzięczny za wszelką pomoc. PS: Przepraszam za dwukrotne publikowanie, ale kod został wydrukowany nieprawidłowo. Oto on:

  2. Rozwiązanie działa dobrze, dzięki. ale paginacja zepsuła się po zastosowaniu tego kodu, próbowałem, ale nie udało mi się uzyskać poprawnej paginacji. Jakieś rozwiązanie dla paginacji? .

    • zastosuj klasę do li zgodnie z numerem strony i licznikiem & ustaw styl dla p1c1 na display:none;

  3. Użyłem dwóch wtyczek. Jedna to „Recent facebook post”, aby wyświetlać najnowsze posty w WordPress, a „Facebook publish page”, aby publikować moje posty z WordPress na Facebooku. Teraz chcę wykluczyć najnowszy post z Facebooka, który został już opublikowany z moich postów WordPress.

    Jak mogę to zrobić?

    • W tym celu wtyczka publikująca treści z Twojej strony na Facebooku powinna sprawdzać, czy wpis został już opublikowany z WordPressa na Facebooka. Nie zalecamy użytkownikom bezpośredniej edycji plików wtyczek. Jednak jeśli czujesz się komfortowo z edycją plików php, możesz rozwidlić wtyczkę jako nową wtyczkę, a następnie dodać kod, aby to osiągnąć.

      Admin

  4. Dzięki za świetną wskazówkę. Spędziłem godziny, próbując to rozgryźć, a ty sprawiłeś, że było to tak proste!

  5. Hmm, kiedy próbowałem użyć tego kodu w pętli strony kategorii, nie udało mi się zachować postów tylko dla tej kategorii, zamiast tego działał tak, jakby to była pętla strony głównej i wyświetlał wszystkie posty.

  6. witaj, mam tylko jedno pytanie, kiedy to robię, paginacja przestaje działać, jak mogę to naprawić?

    dzięki, poza tym działa idealnie!!

    Dzięki!

    • Yes, pagination not working. you have found any working solution for pagination, I am still searching .. :(

        • paginacja nie działa na stronie indeksu, więc możemy sami wykonać wywołanie paginacji ajax i głównie query_posts() działa dla paginacji zamiast WP_Query()

  7. Czy jest sposób, aby przesunąć post z jednej kategorii?

    Np. chcę pokazać wszystkie posty oprócz NAJNOWSZEGO posta z kategorii x

  8. “query_posts(‘posts_per_page=6&offset=1’);” this is not worked for me , while i am using the WP-PageNavi plugin for page navigation. :(

  9. Thanks for the info. Worked well :) Though, I’m encountering another issue for another site I’m currently doing. Is there a way to exclude from the loop only the latest post of a particular category?

    Chodzi o to, że mam bloga, na którym publikuję podcasty. Strona główna wyróżnia najnowszy podcast – posty są publikowane w kategorii: Podcast – z własnym stylem. Jednocześnie strona główna wyświetla również 5 najnowszych postów, z których mogą być posty w kategorii „podcast”. Po prostu nie chcę wyświetlać w pętli najnowszego posta opublikowanego w kategorii „Podcast”, po prostu dlatego, że jest już wyróżniony własnym stylem. Mam nadzieję, że możesz mi pomóc. dzięki!

  10. Dzięki za wskazówkę!
    Ale zastanawiałem się, czy jest też sposób na wykluczenie posta, który jest aktualnie wyświetlany na ekranie.

    Jeśli tak, czy możesz mi powiedzieć, jak to zrobić?

    Z góry dziękuję!

      • Jedna z moich stron wyświetla najpierw najnowszy lub bieżący post, który użytkownik przegląda.

        Bieżący post jest wywoływany przez pętlę.

        Poniżej tego wpisu chcę wyświetlić fragmenty innych poprzednich wpisów, bez wyświetlania bieżącego wpisu na tej liście.

        Poprzednie fragmenty postów są wywoływane przez query_posts:

        query(‘showposts=3&cat=5’);
        while($previousPosts->have_posts()) : $previousPosts->the_post();
        ?>

        Jak widać, wywołuję 3 posty (fragmenty) z kategorii 5, co wyświetla trzy posty z kategorii Wiadomości. Wydaje się to w porządku, ale wśród tych 3 fragmentów postów, aktualny post, który jest wywoływany przez pętlę, również znajduje się na tej liście.
        Czy wiesz, jak wykluczyć aktualny post z tej listy?

        Jeszcze raz dziękuję!

        • Dziękuję jeszcze raz za szybką odpowiedź!
          Jednakże, próbowałem użyć offset=1 w zapytaniu, ale kiedy klikniesz na starszy post, widzisz go w głównym cyklu, a na liście fragmentów najnowszy post jest wykluczony, ale starszy post, który jest teraz bieżącym postem, nadal znajduje się na liście fragmentów.

          Czy jest jakiś pomysł, jak wykluczyć nie najnowszy, ale bieżący post?

          Thanks so far already :)

  11. Thank you so much for this piece as i was looking for a way to exclude 4 latest posts form my home page and i got answer by this articles and i have replaced (query_posts(‘posts_per_page=6&offset=1’);) by query_posts(‘posts_per_page=6&offset=3’); and its done :)

  12. Gdzie dokładnie umieścić ten kod, aby usunąć wszystkie posty oprócz przypiętych na stronie głównej.

    Dzięki,

    • Jest to proces wieloetapowy. Najpierw musiałbyś mieć niestandardowy szablon strony. Następnie musiałbyś utworzyć tę niestandardową stronę, która byłaby Twoją stroną główną. Potem uruchomiłbyś zapytanie w tym niestandardowym szablonie, pokazując tylko posty przypięte.

      Admin

Pozostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.