• User Attivo

    Loop delle sottocategorie

    Salve a tutti,

    da un po' di giorni sto rompendomi la testa per fare una cosa apparentemente banale. Vorrei cioè fare in modo che nelle categorie che contengono sottocategorie i post vengano elencati indicando, per ogni sottocategoria, i post contenuti (anziché con il loop-tipo di wp).

    Ho quindi elaborato le informazioni trovate qui e là e ho scritto questo pezzo di codice nel mio file category.php:

    
    
    <?php
    if (is_category()) {
    $this_category = get_category($cat);
    if (get_categories('child_of='.$this_category->cat_ID.'&echo=0&title_li=') != "") {
    
    // Qui comincio a elencare le sottocategorie
    
    echo "<h1>Sottocategorie</h1>";
    echo "<ul>";
    wp_list_categories('orderby=id&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID);
    echo "</ul>";
    }
    
    // ora tento di processare le sottocategorie
    
    $sottocategorie = array (wp_list_categories('child_of='.$this_category->cat_ID.''));
    foreach ($sottocategorie as $catkey) {
    echo $catkey->cat_ID;
    echo $catkey->cat_name;
    echo "<br>";
    
    // a questo punto dovrei fare un loop in ciascuna sottocategoria
    
    }
    }
    
    ?>
    
    
    

    Purtroppo il risultato non è quello sperato.
    Infatti l'array $sottocategorie mi stampa (una volta, indipendentemente dalle categorie contenute) il wp_list_categories.
    Ho provato con get_categories al posto di wp_list_categories, ma restituisce un array vuoto. Avete qualche idea?


  • User Attivo

    scusa perchè non crei un template per ogni categoria e ci metti il loop con l'id corrispondente?


  • User Attivo

    YouON: data la mole di categorie e sottocategorie vorrei un unico template category.php che

    1. controlla se la categoria ha sottocategorie
      1.1) se non ha sottocategorie, mostra il contenuto normalmente
      1.2) se ha sottocategorie, mostra il contenuto diviso per sottocategorie

    Credo comunque di aver trovato il modo, usando la funzione query_posts()

    Grazie!