Wpisy wybranej kategorii na stronie głównej

Tworzę stronę adopcyjną dla kotów. Zdecydowałam się na wordpress i chyba trochę żałuję bo w joomla byłoby łatwiej i w ogóle bez problemu.
Ważne jest aby na głównej stronie pojawiały się tylko koty do adopcji, a nie pojawiały koty adoptowane. Co zrobić, żeby koty które znalazły domy nie mieszały się z kotami do adopcji. Nawet gdyby ustawić kotom adoptowanym wcześniejsze daty i tak będą się one pojawiać na końcu i stwarzać zamieszanie który kot jest dostępny a który nie.

Rozwiązaniem będzie takie ustawienie strony głównej aby wyświetlała tylko wpisy określonej kategorii. Służy do tego funkcja query_posts().

Znalazłam takie oto rozwiązanie:

Wstawiłam funkcje query_posts(), które powoduje, że na głównej stronie pojawiają się tylko określone wpisy (w tym przypadku tylko 1 kategoria).

w pliku index.php znajduje się formułka:

 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

Jest to pentla, która wyświetla wpisy. Przed nią należy wkleić następujący kod w zależności od tego co się chce:

  • wyświetla wpisy z kategorii o numerze 3

<?php query_posts($query_string . ‘&cat=3’); ?>

  • wyświetla wpisy z kategorii o nazwie Nazwa kategorii
<?php query_posts('category_name=Nazwa kategorii'); ?>
  • z kilku wybranych kategorii np. 1 i 3,  wyświetla tylko 2 wpisy, w porządku według tytułów,  w porządku malejącym
<?php
query_posts( array( 'category__and' => array(1,3), 'posts_per_page' => 2, 'orderby' => 'title', 'order' => 'DESC' ) );
?>
  • wyświetla wpisy z jednej kategorii i z określonym tagu
<?php query_posts( 'cat=1&tag=apples' );
?>
  • wyświetla wszystkie wpisy prócz jednej o numerze 3
<?php
if ( is_home() ) {
	query_posts( 'cat=-3' );
}
?>

 

8 Comments
    1. Świetna rzecz. Wypróbowałam od razu.
      Pierwsza rzecz to trzeba wpisać w polu Kategoria – uproszczoną nazwę kategorii bo inaczej nie działa.
      Zajawka jest troche za długa jak na sidebar. To znaczy zależy co kto potrzebuje.
      U mnie występuje błąd i chyba wtyczka gryzie się z wtyczką Modal Dialog.
      Jak to poprawić?
      Czy mozna używać tylko na blogach gdzie nie ma Modal Dialog?

  1. Niestety, u mnie kompletnie nie działa. Mam aktualną wersję WP 3.5.

  2. witam wszystko pięknie ładnie niestety u mnie otwierając plik index.php to jest tylko tyle co widzę 😛

    i dodam że mam skórkę awake z themeforest i dodam, że drugie rozwiązanie z functions.php również zawodzi….

  3. Witam,
    Jestem nowa w tworzeniu bloga i mam pytanie. Gdzie znajdę ten plik index.php?

    1. index.php znajduje sie w katalogu motywu czyli wp-content/themes/nazwamotywu.

      Problem taki, żeby na stronie głównej pojawiały się wpisy z określonej kategorii można rozwiązać w rózny sposób. Są do tego wtyczki.
      Ale jeśli chcesz na stałe dokonać zmiany w motywie to trzeba zmodyfikować pliki motywu.

      Zastanawiam się czy można to rozwiązać bez modyfikacji motywu i wtyczek. Kiedyś był problem zrobienia strony z wpisami z określonej kategorii. Robiłam jakieś modyfikacje motywu. Teraz to niepotrzebne bo wystarczy dodać do głównego menu link do strony kategorii i to załatwia sprawę.
      Można niby nazwać taki link Home ale to nie załatwia sprawy bo po wejściu na domenę blog będzie wyświetlał stronę oznaczoną jako główna albo stronę ze wszystkimi wpisami.

      Sposoby opisane powyżej są chyba najprostsze.

      Ostatnio zmieniłam motyw dla bloga adopcyjnego i teraz wyświetlają się na nim wpisy jak leci, zamiast tylko koty do adopcji jak było wcześniej. Czas to poprawić.

  4. Dzięki za przydatny wpis 🙂 długo szukałem dobrego sposobu lecz tu go znalazłem dziękuje

Leave a reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.