W przeszłości udostępniliśmy, jak wygasnąć posty w WordPress za pomocą wtyczki Post Expirator. Cóż, podczas tworzenia witryny z listą wydarzeń odkryliśmy, że ta wtyczka jest bardzo pomocna. Możemy łatwo usunąć listę wydarzeń, które wygasły. Po drugie, dzięki tej wtyczce, naprawdę łatwo jest sortować posty według daty ważności. W tym artykule pokażemy, jak sortować posty według daty ważności w WordPress.
Kod zaktualizowany, aby odzwierciedlić zmiany we wtyczce, w której zmieniono nazwę niestandardowego pola. Dzięki Tajim za informację w komentarzach.
W naszym konkretnym projekcie mieliśmy Wydarzenia jako niestandardowy typ postu. Jest to dla organizacji non-profit, która organizuje jedno wydarzenie miesięcznie, więc po prostu stworzyliśmy pętlę, aby umieścić ją na Stronie wydarzeń. Możesz użyć kodu na pasku bocznym lub gdziekolwiek chcesz.
<?php $args = array( 'post_type' => 'event', 'posts_per_page' => 15, 'order' = > 'ASC', 'meta_key' = > '_expiration-date', 'orderby' = > 'meta_value'); $eventloop = new WP_Query ($args ); if ( $eventloop->have_posts() ) : while ( $eventloop->have_posts ()): $eventloop->the_post(); // Cała zawartość pętli idzie tutaj endwhile; endif; ?>
Sztuczka polega na wykorzystaniu meta_key, a następnie użytkownika oderby meta_value. Umieszczenie go w porządku rosnącym pokazuje zdarzenie, które wkrótce nadejdzie (wygasa najwcześniej). Przykład naszej listy wydarzeń:
Uwaga aby to działało, musisz użyć wtyczki Post Expirator.
Jeśli masz jakieś pytania, prosimy pytać w komentarzach poniżej.