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 wyświetlić posty z zeszłego tygodnia w WordPress

Wielu naszych czytelników na poziomie początkującym wkrótce zaczyna modyfikować swoje motywy WordPress, dlatego mamy ściągawkę motywów WordPress, która pomoże im zacząć. Stwarza to pewne interesujące wyzwania dla nowych użytkowników. Jeden z takich czytelników zapytał nas niedawno, jak wyświetlić posty z zeszłego tygodnia w WordPress. Chcieli po prostu dodać sekcję na swojej stronie głównej, która wyświetlałaby posty z poprzedniego tygodnia. W tym artykule pokażemy Ci, jak wyświetlić posty z zeszłego tygodnia w WordPress.

Zanim pokażemy Ci, jak wyświetlić posty z poprzedniego tygodnia, przyjrzyjmy się najpierw, jak możesz wyświetlić posty z bieżącego tygodnia za pomocą WP_Query. Skopiuj i wklej poniższy kod do pliku functions.php swojego motywu lub do wtyczki specyficznej dla witryny.

function wpb_this_week() { 
$week = date('W');
$year = date('Y');
$the_query = new WP_Query( 'year=' . $year . '&w=' . $week );
if ( $the_query->have_posts() ) : 
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
	<?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;
}

W powyższym przykładowym kodzie najpierw ustaliliśmy bieżący tydzień i rok. Następnie użyliśmy tych wartości w WP_Query, aby wyświetlić posty z bieżącego tygodnia. Teraz wystarczy dodać <?php wpb_this_week(); ?> w pliku motywu, w miejscu, w którym chcesz wyświetlić posty.

To było proste, prawda? Teraz, aby wyświetlić posty z zeszłego tygodnia, wystarczy odjąć 1 od wartości tygodnia. Ale jeśli jest to pierwszy tydzień roku, otrzymasz 0 dla tygodnia i bieżący rok zamiast zeszłego roku. Oto jak naprawić ten problem.

function wpb_last_week_posts() { 
$thisweek = date('W');
if ($thisweek != 1) :
$lastweek = $thisweek - 1;   
else : 
$lastweek = 52;
endif; 
$year = date('Y');
if ($lastweek != 52) :
$year = date('Y');
else: 
$year = date('Y') -1; 
endif;
$the_query = new WP_Query( 'year=' . $year . '&w=' . $lastweek );
if ( $the_query->have_posts() ) : 
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
	<?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;

}

W powyższym przykładowym kodzie umieściliśmy dwa sprawdzenia. Pierwsze sprawdzenie ustawia wartość z poprzedniego tygodnia na 52 (co jest ostatnim tygodniem w roku), gdy wartość bieżącego tygodnia wynosi 1. Drugie sprawdzenie ustawia wartość roku na poprzedni rok, gdy wartość ostatniego tygodnia wynosi 52.

Aby wyświetlić posty z zeszłego tygodnia, wystarczy dodać <?php wpb_last_week_posts(); ?> do pliku szablonu motywu, w którym chcesz je wyświetlić. Lub jeśli chcesz mieć skrócony kod, aby móc dodać go do strony lub widżetu, po prostu dodaj tę linię poniżej podanego powyżej kodu.

add_shortcode('lastweek', 'wpb_last_week_posts');

Teraz możesz użyć tego krótkiego kodu w poście, stronie lub widżecie w następujący sposób:

[ostatnitydzien]

Należy pamiętać, że nie zawsze potrzebujesz WP_Query do tworzenia niestandardowych zapytań. WordPress zawiera kilka funkcji, które pomogą Ci wyświetlić ostatnie posty, archiwum, komentarze itp. Jeśli istnieje łatwiejszy sposób na wykorzystanie istniejących funkcji, nie musisz pisać własnych zapytań.

Mamy nadzieję, że ten artykuł pomógł Ci wyświetlić posty z zeszłego tygodnia w WordPress. Eksperymentuj z kodem i modyfikuj go, aby spełnić Twoje potrzeby. Daj nam znać, jeśli masz jakieś pytania, zostawiając komentarz poniżej lub dołącz do nas na Twitterze.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz 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

8 CommentsLeave a Reply

  1. Jestem ciekawy, kiedy/dlaczego chciałbym wyświetlać posty z tygodnia? Na mojej stronie głównej wyświetlam fragmenty, więc posty z moich ostatnich 2 tygodni są widoczne. Czego mi tutaj brakuje? Dzięki!

    • Nie musisz. Ale właściciele innych stron internetowych mogą mieć układ, w którym chcą oddzielnie wyświetlać posty z poprzedniego tygodnia. Ten samouczek jest przeznaczony dla tych użytkowników.

      Admin

Leave A Reply

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. Proszę NIE używaj słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.