WordPress Jak zmienić kolejność wpisów na blogu

WordPress Jak zmienić kolejność wpisów na blogu

1.7tyś+ odsłon

19 sierpnia 2018 przez Mateusz Mikos

Każdy czasem tego potrzebuje, więc dzisiaj zajmiemy się tematem WordPress Jak zmienić kolejność wpisów na blogu. Mamy dużo opcji i dużo możliwości, ale nie są one podane nam na tacy! Bierzmy się do pracy!

WordPress Jak zmienić kolejność wpisów na blogu

Pierwsze, co potrzebujemy, aby zmienić kolejność postów i być w zgodzie z dobrymi praktykami WordPress to motyw potomny. O motywach potomnych, a dokładnie o tym jak stworzyć taki motyw pisałem w poniższym artykule. Jeżeli nie wiesz jak stworzyć motyw potomny, kliknij w link, stwórz go za pomocą poradnika i wróć tutaj, aby dowiedzieć się jak zmienić kolejność wpisów w Wordpess.

WordPress Jak zrobić motyw potomny (Child Theme)

Zanim przejdziemy do tworzenia, aby to lepiej zobrazować stworzę kilka postów na przykładowym blogu:

Wordpress Jak zmienić kolejność wpisów - Standardowa Kolejność
WordPress Jak zmienić kolejność wpisów – Standardowa Kolejność

Jak działa standardowa kolejność wpisów w WordPress?

Jak pokazuje screenshot powyżej, standardowa kolejność wpisów w WordPress jest ustalana według daty opublikowania DESC (descending), czyli malejąco. Zajmijmy się teraz kodowaniem.

Otwórzmy plik z naszego motywu potomnego – functions.php w wybranym edytorze (nawet w notatniku):



<?php
   function child_theme_enqueue_styles() {
      wp_enqueue_style('parent-style', get_template_directory_uri().'/style.css');
      wp_enqueue_style('child-style', get_stylesheet_directory_uri().'/style.css', array('parent-style'));
   }
   add_action('wp_enqueue_scripts', 'child_theme_enqueue_styles');


Tak wygląda plik funkcji stworzony przy pomocy poradnika na temat motywu potomnego. Dopiszmy do niego coś, co pozwoli nam zmieniać kolejność postów:


function child_theme_order_modify( $query ) {
    if ( $query->is_front_page() && $query->is_main_query() && !is_admin() ) {
        $query->set( 'orderby', 'modified' );
        $query->set( 'order', 'DESC' );
    }
}
add_action( 'pre_get_posts', 'child_theme_order_modify' );

Co my tu robimy? Śpieszę tłumaczyć! function nazwa_funkcji ($query) – tworzymy funkcję, która – najprościej mówiąc – będzie łapać zapytanie i zmieniać jego ustawienia (dzięki temu nie będziemy musieli zmieniać nic oprócz pliku functions.phpif ($query->is_front_page() && $query->is_main_query() && !is_admin()) – ta część kodu sprawdza po kolei czy: a) $query->is_front_page() – czy zapytanie jest wykonywane na stronie głównej b) $query->is_main_query() – czy zapytanie jest głównym zapytaniem c) !is_admin() – czy zapytanie nie jest wykonywane na stronach dostępnych dla administratorów $query->set(‘orderby’, ‘modified’); – ustawia właściwość, w tym przypadku orderby (sortuj według) na modified (data modyfikacji) $query->set(‘order’, ‘DESC’); – ustawia właściwość, w tym przypadku order (kolejność) na DESC (malejące) add_action(‘pre_get_posts’, ‘nazwa_funkcji’) – “zlecamy” wykonanie naszej funkcji silnikowi WordPress pre_get_posts, czyli wtedy, gdy zmienna zapytania jest już stworzona, ale nie została jeszcze wykonana. Oczywiście nie musimy tylko sortować postów według daty edycji i malejąco, mamy takie opcje do wyboru: orderby:

  • ‘ID’ – według identyfikatora;
  • ‘author’ – według autora;
  • ‘title’ – według tytułu;
  • ‘name’ – według slug’u;
  • ‘type’ – według typu posta;
  • ‘date’ – według daty opublikowania;
  • ‘modified’ – według daty modyfikacji;

order:

  • DESC – malejąco;
  • ASC – rosnąco;

Więcej możliwych ustawień orderby znajdziecie na stronie: WordPress Codex   Teraz sprawdźmy na przykładowym blogu jak to działa. Najpierw alfabetycznie i rosnąco (od A do Z):  

WordPress Jak zmienić kolejność wpisów – Kolejność alfabetyczna rosnąco

  I jeszcze jak sugeruje tytuł jednego z postów, sprawdzimy jak one się ułożą, gdy zastosujemy kolejność według daty modyfikacji, kod będzie wyglądać tak:

Wordpress Jak zmienić kolejność wpisów - Wpisy według daty modyfikacji
WordPress Jak zmienić kolejność wpisów – Wpisy według daty modyfikacji

  To koniec tego poradnika. Mam nadzieję, że przybliżyłem i ułatwiłem Wam trochę zmianę kolejności wpisów na blogu WordPress. ????

Ocena czytelników
[Wszystkich ocen: 2 Średnia: 4.5]

Raz kodzie śmierć!

Samozwańczy król Backend i przyszły książę WordPress. Programuję od 7 lat i nadal nie znalazłem ulubionego środowiska. Lubię nieszablonowe rozwiązania szablonowych problemów, czyli drogę pod górkę. Podobno moim głównym celem jest monopol na programowanie – napisać kod, którego nikt nie potrafiłby zrozumieć.

1
Zostaw komentarz i dołącz do dyskusji:

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Dżacer Recent comment authors
najnowszy najstarszy oceniany
Dżacer
Gość
Dżacer

Dobra robota – prosto i na temat! ????