Jak wyświetlić zaplanowane posty (future) w WordPressie na frontendzie

W WordPressie domyślnie na stronie (frontendzie) wyświetlane są tylko posty ze statusem publish (opublikowane). Posty zaplanowane, czyli te ze statusem future, pozostają ukryte do czasu ich oficjalnej publikacji. Co jednak, jeśli chcesz, aby zaplanowane posty były widoczne dla użytkowników od razu? W tym artykule pokażemy prostą i skuteczną metodę, która pozwoli wyświetlać zarówno opublikowane, jak i zaplanowane posty na frontendzie Twojej strony WordPress, korzystając z funkcji podłączonej do hooka pre_get_posts.

Dlaczego wyświetlać zaplanowane posty?

Wyświetlanie zaplanowanych postów może być przydatne w różnych sytuacjach, na przykład:

  • Chcesz pokazać użytkownikom nadchodzące artykuły lub wydarzenia, zanim zostaną opublikowane.
  • Prowadzisz bloga, na którym zapowiedzi postów mają zachęcać do powrotu na stronę.
  • Tworzysz niestandardowy system, w którym zaplanowane treści powinny być widoczne od razu.

Poniżej znajdziesz gotowe rozwiązanie, które modyfikuje domyślne zapytania WordPressa, aby uwzględniały posty z statusem future.

Funkcja wyświetlająca zaplanowane posty

Oto prosta funkcja, która sprawia, że WordPress wyświetla zarówno opublikowane, jak i zaplanowane posty dla typu post na frontendzie strony:

function pk_show_future_posts_everywhere( $q ) {
    if ( is_admin() ) return;
    if ( $q->get('post_type') === 'post' ) {
        $q->set( 'post_status', array( 'publish', 'future' ) );
    }
}
add_action( 'pre_get_posts', 'pk_show_future_posts_everywhere' );

Jak to działa?

  1. Hook pre_get_posts: Funkcja jest podłączona do akcji pre_get_posts, która pozwala modyfikować zapytania WordPressa przed ich wykonaniem.
  2. Warunek is_admin(): Sprawdzamy, czy zapytanie pochodzi z panelu administracyjnego. Jeśli tak, funkcja nic nie robi, aby nie zmieniać zachowania w panelu admina.
  3. Warunek dla typu post: Funkcja działa tylko dla standardowych postów (post_type = post). Możesz to zmienić, jeśli chcesz uwzględnić inne typy postów.
  4. Modyfikacja post_status: Ustawiamy statusy postów na publish i future, co sprawia, że oba typy są wyświetlane na frontendzie.

Jak dodać kod do swojej strony?

  1. Otwórz plik functions.php Twojego motywu WordPress (najlepiej użyj motywu potomnego, aby uniknąć utraty zmian przy aktualizacji motywu).
  2. Skopiuj i wklej powyższy kod na końcu pliku.
  3. Zapisz zmiany i odśwież swoją stronę – zaplanowane posty powinny być teraz widoczne w miejscach, gdzie wyświetlane są posty (np. strona główna, archiwa).

Funkcja pk_show_future_posts_everywhere to proste i skuteczne rozwiązanie dla każdego, kto chce wyświetlać zarówno opublikowane, jak i zaplanowane posty na frontendzie WordPressa. Dzięki niej możesz łatwo pokazać użytkownikom nadchodzące treści, zwiększając zaangażowanie na swojej stronie. Kod jest uniwersalny, łatwy do wdrożenia i nie wymaga skomplikowanych zmian w szablonach.

Jeśli potrzebujesz pomocy z dostosowaniem tej funkcji, chcesz dodać niestandardowe funkcjonalności lub masz inne pytania dotyczące WordPressa, skontaktuj się z naszą firmą! Nasi eksperci chętnie pomogą Ci zoptymalizować Twoją stronę i wdrożyć rozwiązania idealnie dopasowane do Twoich potrzeb. Napisz do nas przez formularz kontaktowy na naszej stronie – jesteśmy tu, by pomóc!

Zamów wycenę
Polityka prywatności | Regulamin
Pro-link 2005-2020