Chi ha creato la discussione
enricocarli
(@enricocarli)
Ho risolto così, ma non so se sia la soluzione più corretta:
nella index.php del tema:
http://codepad.org/vEIRr6Rf
grazie a tutti buona giornata
Ciao,
Le tassonomie non sono interne alla struttura del custom post type.
L’url corretto sarebbe http://miosito.it/auto/fiat ovvero http://miosito.it/tassonomia/termine. Per questo ti viene ritornato un 404.
Chi ha creato la discussione
enricocarli
(@enricocarli)
per cui non si possono usare tassonomie con i custom post?
Si puoi usare tassonomie insieme ad i custom post type, ma la questione qui è che nella struttura delle url rewrite di wordpress, quando il sistema prende i dati nella stringa url e le trascrive in fancy permalinks, non vi è una corrispondenza per la url http://miosito/custom-post-type/tassonomia perchè gerarchicamente le tassonomie sono indipendenti dai custom post types, possono essere assegnati ad un post type ma non ne fanno parte.
Per indenderci. Le url reali a sinistra e le url riscritte a destra
miosito.it/?post_type=listino > miosito.it/listino
miosito.it/?taxonomy=ID_term > miosito.it/auto/fiat/
Per fare quello che necessiti tu devi creare delle rewrite rules.
Chi ha creato la discussione
enricocarli
(@enricocarli)
Ciao Guido,
grazie mille per le risposte, sto capendo qualcosa forse;
ho aggiunto nel mio file functions il seguente codice:
function custom_rewrite_listino() {
add_rewrite_rule(
'^listino/([^/]*)/?',
'index.php?page_id=2&veicolo=$matches[1]',
'top'
);
add_rewrite_rule(
'^listino/([^/]*)/([^/]*)/?',
'index.php?page_id=2&veicolo=$matches[1]&marca=$matches[2]',
'top'
);
add_rewrite_rule(
'^listino/([^/]*)/([^/]*)/([^/]*)/?',
'index.php?page_id=2&veicolo=$matches[1]&marca=$matches[2]&modello=$matches[3]',
'top'
);
add_rewrite_rule(
'^listino/([^/]*)/([^/]*)/([^/]*)/([^/]*)/?',
'index.php?page_id=2&veicolo=$matches[1]&marca=$matches[2]&modello=$matches[3]&allestimento=$matches[4]',
'top'
);
//flush_rewrite_rules();
}
add_action('init', 'custom_rewrite_listino');
ho creato una pagina e l’ho chiamata “Listino”,
le ho associato un template di pagina, col seguente codice:
<?php /* Template Name: Listino */ ?>
<?php get_header(); ?>
<div class="row">
<div class="small-12 medium-8 large-8 columns">
<h1>Listino</h1>
<?php
$pagina_corrente = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
$url_listino = str_replace(get_site_url()."/", "", $pagina_corrente);
$url_listino2 = substr($url_listino, 0, -1);
$array_listino = explode('/', $url_listino2);
print_r($array_listino);
?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
ricavo un array dall’url, e con quei parametri mi estraggo dal db ciò che voglio;
secondo te fa schifo come soluzione o può andare?
sono alle prime armi con wordpress e anche con php =)
grazie mille
buona serata