W Worpressie domyślnie wyświetlać możemy chronologicznie posty z wszystkich kategorii, choć niektóre motywy, zwłaszcza te płatne dają nam już o wiele większe pole do popisu oferując nam wiele opcji pozwalających na spersonalizowanie strony głównej naszego bloga.
Ale jeśli nie stać Cię na taki motyw, a chciałbyś bądź chciałabyś wyświetlić posty tylko z jednej, wybranej przez Ciebie kategorii na stronie głównej, to nie musisz instalować wtyczek. Wystarczy poświęcić kilka minut swojego czasu, przeczytać ten krótki poradnik i wprowadzić swój plan w życie.
Znajdź numer ID wybranej kategorii
Gdy już wiesz, którą kategorię chcesz promować na stronie głównej to teraz potrzebujesz ID tejże kategorii. O tym jak znaleźć numer ID pisałem kilka miesięcy temu, więc zajrzyj tutaj.
Wprowadź kod
Gdy już masz numer ID kategorii to wprowadź go zamiast xx w poniżej funkcji.
function my_home_category( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', 'xx'); } } add_action( 'pre_get_posts', 'my_home_category' );
Następnie przejdź do Motywy→Edytor i wyszukaj plik functions.php (Funkcje motywu). Wklej na samym końcu kod jak powyżej z dodanym numerem ID i zapisz plik.
Gotowe.
Jeśli chcesz na stronie głównej wyświetlić posty z więcej niż jednej kategorii to możesz wprowadzić ich ID jeden za drugim rozdzielając je przecinkiem i zastępując w powyższej funkcji xx. Przykładowo zmodyfikowany kod poniżej wyświetli posty z kategorii o ID 10 i 11.
function my_home_category( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', '10, 11'); } } add_action( 'pre_get_posts', 'my_home_category' );
I to tyle, po zapisaniu powinniście widzieć na stronie głównej swojego WordPressa tylko posty z wybranych kategorii.
Niestety po dopisaniu kodu w functions.php, na końcu
– po linijkach add_action( 'pre_get_posts’, 'my_home_category’ );
?>
– ów dopisek wyświetlił mi się u góry strony głównej, a strona nadal wyświetla wszystkie wpisy jak leci.
Powinno być przed zamknięciem znacznika php, czyli przed ?>
Działa, tylko jak ustawić liczbę postów do wyświetlenia?