• User Attivo

    template taxonomy/custom post

    Buongiorno a tutti,

    sto realizzando un tema per wordpress con:

    2 custom post:

    • listino
    • usato

    6 tassonomie:

    • auto: che fa riferimento ai post, e ai 2 custom post "listino" e "usato"
    • moto: che fa riferimento ai post, e ai 2 custom post "listino" e "usato"
    • categorie auto: che fa riferimento ai post
    • categorie moto: che fa riferimento ai post
    • tag auto: che fa riferimento ai post
    • tag moto: che fa riferimento ai post

    i mie file sono:

    index.php per la home del tema

    single.php per i post
    single-listino.php per i post di tipo listino
    single-usato.php per i post di tipo usato

    archive-listino.php che sono una sorta di home per i custom post di tipo listino rispondono all'url: miosito.it/listino
    archive-usato.php che sono una sorta di home per i custom post di tipo usato rispondono all'url: miosito.it/usato

    il mio problema è questo:

    non riesco a filtrare i post e i post custom tramite le tassonomie;

    se digito per esempio:

    miosito.it/listino/fiat/
    miosito.it/usato/audi/

    fiat e audi sono voci di tassonomia mi da sempre 404.

    qualcuno a qualche idea? :arrabbiato:

    grazie in anticipo per le risposte


  • User Attivo

    Ho risolto così, ma non so se sia la soluzione più corretta:

    nella index.php del tema:

    [PHP]
    <?php get_header(); ?>

    <?php
    $urlpage =$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    $siteurl = site_url()."/";

    $marche_auto = $wpdb->get_results("
        SELECT * FROM wp_terms INNER JOIN wp_term_taxonomy
        ON wp_terms.term_id = wp_term_taxonomy.term_id
        WHERE wp_term_taxonomy.taxonomy = 'auto'
    "); 
    
    $urlcategorieusato = array();
    foreach ( $marche_auto as $marca_auto ) {
        $urlcategorieusato[] = $siteurl."usato/".$marca_auto->slug."/";
    }
    
    $urlcategorielistino = array();
    foreach ( $marche_auto as $marca_auto ) {
        $urlcategorielistino[] = $siteurl."listino/".$marca_auto->slug."/";
    }
    
    if($urlpage==$siteurl){
        include "inc/home.php";
    }
    
    if($urlpage==$siteurl."listino/"){
        include "inc/listino.php";
    }
    
    if($urlpage==$siteurl."usato/"){
        include "inc/usato.php";
    }
    
    if (in_array($urlpage, $urlcategorieusato)){
        include "inc/usato-categoria.php";
    }
    
    if (in_array($urlpage, $urlcategorielistino)){
        include "inc/listino-categoria.php";
    }
    

    ?>

    <?php get_footer(); ?>
    [/PHP]

    tolgo http perchè non sono un utente premium
    può andare?

    grazie a tutti buona giornata