Wielu z naszych czytelników poziomu początkującego wkrótce zacznie modyfikować swoje motywy WordPress, dlatego mamy ściągawkę motywu WordPress, aby pomóc im zacząć. Wiąże się to z interesującymi wyzwaniami dla nowych użytkowników. Jeden z takich czytelników, niedawno zapytał nas, jak wyświetlić zeszłotygodniowe posty w WordPress. Chcieli tylko dodać sekcję na swojej stronie głównej, która wyświetla posty z poprzedniego tygodnia. W tym artykule pokażemy Ci, jak wyświetlić posty z zeszłego tygodnia w WordPress.
Zanim pokażemy, jak wyświetlać posty z poprzedniego tygodnia, przyjrzyjmy się najpierw, jak możesz wyświetlać posty z bieżącego tygodnia za pomocą WP_Query. Skopiuj i wklej następujący kod w funkcjach szablonu.plik php lub wtyczka specyficzna dla witryny.
function wpb_this_week () {
$week = date('W');
$rok = Data ('Y');
$the_query = new WP_Query( 'year=' . $rok . "&w=". $tydzień );
if ($the_query->have_posts() ) :
while ( $the_query->have_posts ()): $the_query - > the_post(); ?>
< / a > < / H2>
< / p>
W powyższym przykładzie po raz pierwszy dowiedzieliśmy się o bieżącym tygodniu i roku. Następnie użyliśmy tych wartości w WP_Query, aby wyświetlić posty z bieżącego tygodnia. Teraz wszystko, co musisz zrobić, to dodać w pliku motywu, w którym chcesz wyświetlić posty.
To było proste, prawda? Teraz, aby wyświetlić posty z zeszłego tygodnia, wszystko, co musisz zrobić, to minus 1 od wartości tygodnia. Ale jeśli jest to pierwszy tydzień roku, wtedy otrzymasz 0 dla tygodnia i bieżącego roku zamiast ostatniego roku. Oto jak rozwiązać ten problem.
function wpb_last_week_posts () {
$thisweek = date('W');
if ($thisweek != 1) :
$lastweek = $thisweek-1;
else :
$ostatni tydzień = 52;
endif;
$rok = Data ('Y');
if ($lastweek != 52) :
$rok = Data ('Y');
else:
$rok = Data ('Y') -1;
endif;
$the_query = new WP_Query( 'year=' . $rok . "&w=". $ostatni tydzień );
if ($the_query->have_posts() ) :
while ( $the_query->have_posts ()): $the_query - > the_post(); ?>
< / a > < / H2>
< / p>
W powyższym przykładowym kodzie umieściliśmy dwie kontrole. Pierwsza kontrola ustawia wartość ostatniego tygodnia na 52 (co jest ostatnim tygodniem w roku), gdy wartość bieżącego tygodnia wynosi 1. Druga kontrola ustawia wartość roku na zeszły rok, gdy wartość ostatniego tygodnia wynosi 52.
Aby wyświetlić posty z zeszłego tygodnia Wystarczy dodać do pliku szablonu motywu, w którym chcesz je wyświetlić. Lub jeśli chcesz mieć krótki kod, dzięki któremu możesz dodać go do strony lub widżetu, po prostu dodaj tę linię poniżej kodu podanego powyżej.
add_shortcode ('last week', 'wpb_last_week_posts');
Możesz teraz użyć tego krótkiego kodu w poście, stronie lub widżecie takim jak ten:
[ostatni tydzień]
Pamiętaj, że nie zawsze potrzebujesz WP_Query do tworzenia niestandardowych zapytań. WordPress zawiera garść funkcji, które pomagają wyświetlać ostatnie posty, archiwa, komentarze itp. Jeśli istnieje łatwiejszy sposób korzystania z 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 tak, aby spełniał Twoje potrzeby. Daj nam znać, jeśli masz jakieś pytania, zostawiając komentarz poniżej lub dołącz do nas na Twitterze.