- Statut : non résolu
- Ce sujet contient 13 réponses, 3 participants et a été mis à jour pour la dernière fois par
Interned, le il y a 13 années et 3 mois.
-
AuteurMessages
-
19 mars 2012 à 15 h 30 min #507228
Bonjour,
J’ai (enfin ! 😐) réussi à afficher mes custom taxo en liste. Simplement, c’est répétitif dans mon index.php… Comment pourrait-on rendre ce code plus digeste ? On doit pouvoir faire passer tout ça dans une fonction dans le fichier functions.php, je pense, non ? Et ensuite appeler ladite fonction là où on le souhaite ?
<?php
$taxonomy = 'rubriques';
$orderby = 'name';
$show_count = 0;
$pad_counts = 0;
$hierarchical = 1;
$title = __( 'Rubriques' );
$args = array(
'taxonomy' => $taxonomy,
‘orderby’ => $orderby,
‘show_count’ => $show_count,
‘pad_counts’ => $pad_counts,
‘hierarchical’ => $hierarchical,
‘title_li’ => $title
);
?>
<ul>
<?php wp_list_categories( $args ); ?>
</ul>
<?php
$taxonomy = 'livraisons';
$orderby = 'name';
$show_count = 0;
$pad_counts = 0;
$hierarchical = 1;
$title = __( 'Livraisons' );
$args = array(
'taxonomy' => $taxonomy,
‘orderby’ => $orderby,
‘show_count’ => $show_count,
‘pad_counts’ => $pad_counts,
‘hierarchical’ => $hierarchical,
‘title_li’ => $title
);
?>
<ul>
<?php wp_list_categories( $args ); ?>
</ul>
<?php
$taxonomy = 'thematiques';
$orderby = 'name';
$show_count = 0;
$pad_counts = 0;
$hierarchical = 1;
$title = __( 'Thématiques' );
$args = array(
'taxonomy' => $taxonomy,
‘orderby’ => $orderby,
‘show_count’ => $show_count,
‘pad_counts’ => $pad_counts,
‘hierarchical’ => $hierarchical,
‘title_li’ => $title
);
?>19 mars 2012 à 16 h 46 min #823172p’têtre :
__( ‘Rubriques’ ),
‘livraisons’ => __( ‘Livraisons’ ),
‘thematiques’ => __( ‘Thématiques’ ),
);
foreach($taxos as $taxonomy => $title) {
echo ‘<ul>‘;
wp_list_categories(array(
‘taxonomy’ => $taxonomy,
‘orderby’ => ‘name’,
‘show_count’ => 0,
‘pad_counts’ => 0,
‘hierarchical’ => 1,
‘title_li’ => $title
));
echo ‘</ul>‘;
}
?>19 mars 2012 à 16 h 54 min #823173Beh, bravo et merci, Seebz 🙂.
✅
19 mars 2012 à 17 h 52 min #823174Je souhaiterais insérer mes listes dans les balises et . Mais rien ne s’affiche si je remplace
- par . Comment puis-je faire ?
19 mars 2012 à 21 h 46 min #823175as tu essayé wp_dropdown_categories : http://codex.wordpress.org/Function_Reference/wp_dropdown_categories ?
19 mars 2012 à 22 h 28 min #82317620 mars 2012 à 15 h 24 min #823177La fonction wp_dropdown_categories est effectivement adaptée.
Par contre, la recherche n’aboutit qu’à des pages 404, avec comme fin d’URL ../?cat=29, alors que je m’attends à ../nomdemataxonomie. Ou du moins à un résultat effectif.
Que faut-il modifier pour que WP trouve la bonne page ?
oups, le code (mais c’est pas ce qui va changer beaucoup de choses, je pense) :
<li id="categories">
<h4></h4>
<form action=" » method= »get »>
<div>
<?php
$select = wp_dropdown_categories('show_option_none=Choisir un numero&show_count=1&orderby=name&echo=0&taxonomy=livraisons&order=DESC');
$select = preg_replace("#]*)># », « », $select);
echo $select;
?>
<div></div>
</div>
</form>
</li>20 mars 2012 à 19 h 33 min #823178Ah oui, en effet, je n’avais jamais remarqué cela, cette fonction n’est pas utilisable avec les custom taxonomies, enfin je n’y suis pas arrivé, il faudrait réécrire le walker.
Donc, suggestion de se servir de wp_dropdown_categories à oublier
21 mars 2012 à 8 h 43 min #823179J’ai tenté un autre code mais ça m’amène aussi à des URL de type http://wwww.monsite.com/0 … et me ramène sur la page d’accueil, comme si cela faisait une ancre.
J’ai lu qu’il fallait peut-être utiliser get_the_term qui cible les Custom Taxo mais en vain pour le moment.
Comment faire alors ? Doit bien y avoir un moyen, non ?
Je vais voir avec le lien que j’avais trouvé, dans ce cas.
21 mars 2012 à 9 h 42 min #823180trouvé ici : http://webdesign.anmari.com/2264/wp_dropdown_categories-with-taxonomies/
Cet exemple fonctionne dans tous les cas de permaliens.
il faudra juste modifier
$select = wp_dropdown_categories(‘show_option_none=Choisir un numero&show_count=1&orderby=name&echo=0&taxonomy=livraisons&order=DESC’);
en (ne pas oublier d’ajouter &name=livraisons)
$select = amr_dropdown_taxonomy_terms(‘show_option_none=Choisir un numero&show_count=1&orderby=name&echo=0&taxonomy=livraisons&order=DESC&name=livraisons’);
21 mars 2012 à 10 h 14 min #823181Génial !!! Cela fonctionne à merveille. 👏
J’avais aussi remarqué cet article mais comme tu m’avais parlé de la fonction wp_dropdown_categories, hier tout l’après-midi, j’ai tenté par monts et par vaux de rendre le code valide.
Cette fonction mériterait sans doute d’être épinglée sur le forum en attendant que le bug soit réparé, non ?
✅
21 mars 2012 à 13 h 38 min #823182Ah, euh, juste une demande de précision : si on veut le faire pour plusieurs CT, y aurait-il possibilité d’éviter la répétition du code, afin de ne pas avoir ça dans notre fichier ?
<h4></h4>
<form action=" » method= »get »>
<div>
<?php
$select = amr_dropdown_taxonomy_terms('show_option_none=Choisir un numero&show_count=1&orderby=name&echo=0&taxonomy=livraisons&order=DESC&name=livraisons');
$select = preg_replace("#]*)># », « », $select);
echo $select;
?>
<div></div>
</div>
</form>
<h4></h4>
<form action=" » method= »get »>
<div>
<?php
$select = amr_dropdown_taxonomy_terms('show_option_none=Choisir un numero&show_count=1&orderby=name&echo=0&taxonomy=rubriques&name=rubriques');
$select = preg_replace("#]*)># », « », $select);
echo $select;
?>
<div></div>
</div>
</form>21 mars 2012 à 14 h 00 min #823183pareil que précedement, avec un tableau et un foreach
‘Les Rubriques’,
‘livraisons’ => ‘Les Livraisons’,
‘thematiques’ => ‘Les Thématiques’,
);
foreach($taxos as $taxonomy => $title) {
?>
<h4></h4>
<form action=" » method= »get »>
<div>
<?php
$select = amr_dropdown_taxonomy_terms("show_option_none=Choisir un numero&show_count=1&orderby=name&echo=0&taxonomy=$taxonomy&order=DESC&name=$taxonomy");
$select = preg_replace("#]*)># », « », $select);
echo $select;
?>
<div></div>
</div>
</form>21 mars 2012 à 14 h 24 min #823184Merci encore, Guy ! ✅
-
AuteurMessages
- Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.