Optymeo

Sortowanie wpisów w WordPress

redakcja | 12.03.2021 15:13

Zmiana kolejności publikowania wpisów na platformie WordPress może być wykonana na wiele sposobów. Niestandardowe sortowanie artykułów, nie po dacie publikacji, możemy potrzebować z wielu powodów. Przykładowo możemy chcieć, żeby wpisy układały się po dacie modyfikacji, bo bardzo często aktualizujemy stare artykuły i chcemy, aby czytelnicy ponownie na nie trafili. Możemy też chcieć ukryć na indeksach niektóre kategorie, albo wpisu z wybranymi tagami, czy nawet słowami kluczowymi w tytułach, to już bardziej filtrowanie wpisów, ale da się wykonać za pomocą tych samych koncepcji co sortowanie wpisów. 

Mężczyzna pracujący na laptopie
Mężczyzna pracujący na laptopie | envato, bernardbodo

Na początku pokażę Ci jak wykonać sortowanie wpisów za  pomocą programowania w szablonie. Poniżej polecę, dla osób będących z kodem na bakier, kilka wtyczek, które pomogą osiągnąć podobne rezultaty.

Chcąc zmienić sortowanie wszystkich indeksów naszego WordPressa najlepiej wpiąć się bocznymi drzwiami do main_query WordPressa, za pomocą akcji 'pre_get_posts' i zmodyfikować co potrzebujemy. 

WordPress ma napisany bardzo sprytny i bardzo złożony interfejs do zapytań o posty w bazie danych, gdzie możemy wpisu sortować, filtrować i wyciągać co nam się podoba, w skrajnych przypadkach zapytać o wpisy za pomocą czystego SQL, które przekazujemy za pomocą interfejsu query.

Akcja 'pre_get_posts' pozwala nam wpiąć się do miejsca, gdzie budowane jest zapytanie SQL, jeszcze przed wykonaniem requestu do bazy i zmodyfikować go według naszych potrzeb. 

Musisz pamiętac, ze pre_get_posts jest wywoływany we wszystkich zapytaniach o wpisy i jeśli chcesz posortować tylko konkretne indeksy(działy, taxonomie, tagi, widgety) to musisz użyć tagów warunkowych. Warto również wykluczyć sotrtowanie w panelu admina !is_admin(). Dzięki natywnym tagą warunkowym WordPress możlwiości logiki masz wiele. Jeżeli nie znasz jeszcze tagów warunkowych, to odsyłam Cię do podlinkowanego źródła, ale też prosto zrozuieć ich działanie na podstawie tagu is_front_page(), które sprawdza czy aktualnie otwarta jest strona głowna, tak samo is_admin(), czy aktualnie jesteśmy w panelu itd. 

Przykładowy kod sortujący wpisy w WordPress

function customPostOrderby( $query ) {if ( ( $query->is_main_query() && !is_admin() ) &&  $query->is_feed()  ) {        $query->set( 'orderby', 'post_modified' );    }}add_action( 'pre_get_posts', ‘customPostOrderby’ );

Powyższa akcja wpina się w 'pre_get_posts', sprawdza czy modifikujemy główne query, czyli is_main_query, nie pozwala na zmianę w panelu admina !is_admin() oraz wpina się tylko przy wywołaniu indeksu RSS, kótry złapiemy tagiem warunkowym  is_feed().

Cały feed RSS sortujemy na koniec według nowego sposobu, akurat tutaj przyładowo po dacie modyfikacji postu 'orderby', 'post_modified'.

Jak szybko zmienić kolejność wpisów i stron w WordPress bez programowania?

Zainstaluj wtyczkę Simple Custom Post Order

Nie robimy tylko audytów SEO. Działamy kompleksowo

SEO

Działamy dla naszych klientów kompelsowo w SEO od audytu SEO, przez strategię linkowania, strategię contentową i optymalizacje pozycji konwertujących słów kluczowych.

Performance Marketing

Serspiciatis unde omnis iste natus laudantium, totam rem aperiam.

Web Development

Specjalizujemy się w tworzeniu skrojnych na miarę Landing Page, mailingów oraz stron prduktowych, które polepszają działania zwiazane z optymalizacją konwersji.
Mamy swojego grafika na pokładzie.

Kampanie PPC

Prowadzimy kampanie dla naszych klientów w Google Ads, Facebook Ads, LinkedIn, Twitterze oraz programaticu.

Wsparcie techniczne

Możemy wspierać Twoje strony www oparte o technologię Laravel i WordPress.

Z kim będziesz pracował?

Właściciel kilku agencji marrketingowych specjalizująych się PR, SEO i Google Ads.

Zdobywał doświadczenie na najwyższym poziomie pracując jako expert SEO w takich portalach jak: serwisy grupy Gazeta.pl i Wirtualna Polska (wp.pl). Obecnie tworzy kampanie dla serwisów z wielu branż.

Image
Mateusz Szałowski
co-founder Optymeo

Skontakuj się z nami!

Odpowiadamy na wszystkie zapytania

Bardzo szybko dostajesz za darmo wstępną analize i wycenę

Od razu rozmawiasz z ekspertami

Napisz do nas

[email protected]

Zadzwoń

+48-577-467-630