Menu Zamknij

WordPress: wiele kategorii w jednym archiwum wpisów + filtrowanie wpisów na stronie głównej

Dwie ciekawostki dotyczące kategorii na WordPressie. Pierwsza to chyba jedyny odpowiednik potężnego dodatku do Drupala Views – możliwość konstruowania zapytań do artykułów, a druga – modyfikacja treści prezentowanych na stronie głównej – jak na WordPressa przystało trzeba to "z palca" dopisać do motywy i rzecz jasna potem go omyłkowo nie zaktualizować.

Aby dodać kolejny id do filtrowania, np. kolejną kategorię zapytanie będzie wyglądało tak: /?cat=1,2,3,4,5,6,7, jeśli bedą to nazwy, nie ID to przecinek zamieniamy w + np. przy tagach. Oczywiście działa to też przy tzw. ładnych linkach /tag/tag_pierwszy+drugi.

Dodanie filtrowania zaawansowanego może przysporzyć problemów osobom nieobeznanym z edycją kodu motywów WP. Należy przejść do katalogu /wp-content/themes/nazwa_motywu i odnaleźć plik odpowiedzialny za wyświetlanie artykułów na stronie głównej. Zasadniczo powinien być to index.php, ale na 99% będzie tam <div id=”content”> <article> i następujący po nim kod PHP. Tym co odpowiada za wyświetlenie treści jest

if(have_posts()){
  while(have_posts()){
   the_post();

występujący w przeróżnych konfiguracjach. Czasem index.php będzie od razu obsługiwał archiwa i tym podobne, wówczas należy znaleźć takiego if‚a albo else‚a, które nie doklejają tekstu w rodzaju "archive for". Przed wspomnianym kodem umieszczamy

$args = array(
  'cat' => '16',
  'post_type' => 'post',
  'posts_per_page' => 6,
  'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1),
);
query_posts($args);

Zmienne rzecz jasna można dowolnie zmieniać – cat można zastąpić przez tag, author lub cokolwiek innego dostępnego w WP; podobnie posts_per_page. Wartość paged jest najciekawsza i lepiej jej nie dotykać, gdyż można nie tylko zepsuć licznik i nawigator stron (na dole strony), ale też samo wyświetlanie atykułów.

Dodaj komentarz