Title: Więcej w tej kategori
Last modified: 2016-08-05

---

# Więcej w tej kategori

 *  [Kadai](https://pl.wordpress.org/support/users/kadai/)
 * (@kadai)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/)
 * Witam serdecznie.
    Bardzo proszę o pomoc, nie jestem w stanie sam tego rozgryźć.
   Mam na swojej stronie dodany post_type „produkty” i kilka podstron na których
   wyświetlam te produkty zgodnie z ich kategoriami do tego momentu wszystko działa.
   Teraz klikając w produkt przechodzę do treści z tym produktem i poniżej opisu
   tego produktu chciałbym wyświetlić coś takiego jak „więcej w tej kategorii. Prawdopodobnie
   potrzebna mi jakaś pętla do pliku single.php która wyświetli produkty z tej kategorii
   w której jest aktywny wpis.
 * Mam nadzieję że w miarę zrozumiale to opisałem.

Zobacz 9 odpowiedzi - od 1 do 9 (z 9 łącznie)

 *  [Damian Gora](https://pl.wordpress.org/support/users/webtroter/)
 * (@webtroter)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51594)
 * Cześć,
 * Dość szybko można taki moduł napisać. Kod będzie się znajdował w pliku single.
   php
    Na początek trzeba sprawdzić post type i pobrać kategorię:
 *     ```
       <?php
   
       if(get_post_type() === 'produkty'){
   
         //Pobierz kategorię ( term )
         $cat = wp_get_post_categories();
   
         $term = '';
         if(isset($cat[0]) //  Pobiera pierwszą kategorię, jeżeli jest ich więcej
         $term = get_term_by('id', $cat[0], 'category');
   
         // Pobierz posty
         $args = array(
           'posts_per_page' => 5,
           'exclude' => array(get_the_id()), // Nie pobieraj produktu, który jest teraz wyświetlany
           'category' => $term );
   
         $products = get_posts( $args );
   
         // Tutaj pęta foreach i HTML...
         ...
   
       }
   
        ?>
       ```
   
 *  [Damian Gora](https://pl.wordpress.org/support/users/webtroter/)
 * (@webtroter)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51595)
 * Widzę mały błąd. W tablicy $args ma być $term->term_id, a nie $term.
 *  Twórca wątku [Kadai](https://pl.wordpress.org/support/users/kadai/)
 * (@kadai)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51597)
 * Dzięki za odpowiedź ale niestety jak wklejam ten kod do single.php to wywala 
   mi błąd „Parse error: syntax error, unexpected '$term’ (T_VARIABLE)” W tablicy
   zmieniłem też $term na $term->term_id
 *  [Damian Gora](https://pl.wordpress.org/support/users/webtroter/)
 * (@webtroter)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51601)
 * Wybacz. Wyjątkowo pisałem kod od razu w komentarzu i nie sprawdzałem go. Widzę,
   że umknął mi nawias zamykający ifa w `if(isset($cat[0])`. Powinno być tak: `if(
   isset($cat[0]))`
 * Gdyby dalej coś było nie tak, to wieczorem przetestuje kod i wkleję w pełni działający.
   Niemniej jednak myślę, że sobie już poradzisz z tego miejsca.
 *  Twórca wątku [Kadai](https://pl.wordpress.org/support/users/kadai/)
 * (@kadai)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51602)
 * Nie ma już błędu ale jeszcze chyba jest coś nie tak bo wyświetla mi się tylko
   jeden post i to ten aktualny na którym jestem. Będę wdzięczny jeśli dasz rade
   poratować wieczorem w pełni działającym kodem
 *  [Damian Gora](https://pl.wordpress.org/support/users/webtroter/)
 * (@webtroter)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51603)
 * Błędnie założyłem, że funkcja `wp_get_post_categories()` pobiera ID posta ze 
   zmiennej globalnej $post.
 * Poniżej gotowy kod:
 *     ```
       <?php
   
       if (get_post_type() === 'produkty') {
   
                       $post_id = get_the_ID();
   
                       //Pobierz kategorię ( term )
                       $cat = wp_get_post_categories($post_id);
   
                       $term = '';
                       if (isset($cat[0])) //  Pobiera pierwszą kategorię, jeżeli jest ich więcej
                           $term = get_term_by('id', $cat[0], 'category');
   
                       // Gdy udało się pobrać kategorię
                       if (!empty($term)) {
   
                           // Pobierz produkty
                           $args = array(
                               'posts_per_page' => 5,
                               'exclude' => array($post_id), // Nie pobieraj produktu, który jest teraz wyświetlany
                               'category' => $term->term_id
                           );
   
                           $products = get_posts($args);
   
                           // Gdy udało się pobrać jakieś produkty
                           if (!empty($products)) {
                               foreach ($products as $product) {
                                   echo $product->post_title . '<br />';
                                   // ... Tutaj pisz HTML
                               }
                           }
                       }
                   }
                   ?>
       ```
   
 *  Twórca wątku [Kadai](https://pl.wordpress.org/support/users/kadai/)
 * (@kadai)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51604)
 * Bardzo doceniam pomoc ale dalej coś nie gra bo nic nie wyświetla się jak wrzucę
   ten kod do single.php
 *  [Damian Gora](https://pl.wordpress.org/support/users/webtroter/)
 * (@webtroter)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51605)
 * Spokojnie. Rozwiązanie jest już bardzo blisko 🙂
 * Dodaj do tablicy $args jeszcze to: `'post_type' => 'produkty'`
 *  Twórca wątku [Kadai](https://pl.wordpress.org/support/users/kadai/)
 * (@kadai)
 * [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51606)
 * Jesteśmy coraz bliżej ale wciąż na stronie nic się nie wyświetla 🙁

Zobacz 9 odpowiedzi - od 1 do 9 (z 9 łącznie)

 Temat ‘Więcej w tej kategori’ jest zamknięty na nowe odpowiedzi.

## Tagi

 * [kategorie](https://pl.wordpress.org/support/topic-tag/kategorie/)
 * [pętla](https://pl.wordpress.org/support/topic-tag/petla/)

 * W: [Zaawansowane](https://pl.wordpress.org/support/forum/zaawansowane/)
 * 9 odpowiedzi
 * 2 uczestnik
 * Ostatnia odpowiedź od: [Kadai](https://pl.wordpress.org/support/users/kadai/)
 * Ostatnia aktywność: [11 lat, 3 miesiące temu](https://pl.wordpress.org/support/topic/wiecej-w-tej-kategori/#post-51606)
 * Status: nierzwiązane

## Tematy

### Najbardziej popularne tematy

### Tematy bez odpowiedzi

### Wątki niezwiązane ze wsparciem

### Rozwiązane wątki

### Nierozwiązane tematy

### Wszystkie tematy
