J'ai utilisé le plugin Advanced Custom Fields pour ajouter un champ personnalisé à ma taxonomie. Ce champ personnalisé est une image associée au terme. Maintenant, j'ai une page où j'affiche une liste de tous les termes (par exemple, constructeurs automobiles):
$terms = get_terms("manufacturer_tax", array(
'hide_empty' => 0
));
$count = count($terms);
if ( $count > 0 ){
foreach ( $terms as $term ) {
echo $term->name;
echo "<img src='" . $term->manufacturer_logo . "'>"; /* NOT WORKING */
}
}
Je souhaite afficher l'image associée à chaque terme. Comment puis-je accomplir cela?
EDIT
Voici l'exemple de résultat pour un terme: stdClass Object ( [term_id] => 5 [name] => Honda [slug] => honda [term_group] => 0 [term_taxonomy_id] => 5 [taxonomy] => manufacturer_tax [description] => [parent] => 0 [count] => 0 )
On dirait qu'il n'y a pas d'image associée à ce terme. Cependant, je peux voir l'image dans le backoffice.
OK a essayé moi-même, je ne savais pas qu'ACF pouvait ajouter des champs à la taxonomie, ce qui est très pratique, alors je voulais aussi comprendre.
<?php
$libargs=array(
'hide_empty' => 0,
'parent' => 0,
'taxonomy' => 'library_categories');
$libcats=get_categories($libargs);
foreach($libcats as $lc){
$termlink = get_term_link( $lc->slug, 'library_categories' );
?>
<a class="single-library-cat" href="<?php echo $termlink; ?>">
<img src="<?php the_field('taxonomy_image', 'library_categories_'.$lc->term_id); ?>" />
<?php echo $lc->name; ?>
</a>
<?php } ?>
C'est dans la documentation ici http://www.advancedcustomfields.com/docs/tutorials/retrieving-values-from-other-pages-taxonomy-user-media/
<?php the_field('taxonomy_image', 'library_categories_3'); ?>
Il suffit donc de remplacer le nom du champ par votre nom et les catégories de bibliothèque par le nom de taxonomie. Ça devrait le faire!
Pouvez-vous imprimer le résultat d'un terme $ afin que nous puissions voir ce qui est stocké?
J'ai utilisé ce plugin à la place http://wordpress.org/extend/plugins/taxonomy-images/
et le code que j'ai utilisé pour obtenir l'image de chaque taxonomie est:
<?php
$libargs=array(
'hide_empty' => 0,
'parent' => 0,
'taxonomy' => 'library_categories');
$libcats=get_categories($libargs);
foreach($libcats as $lc){
$termlink = get_term_link( $lc->slug, 'library_categories' );
$thumb_url = get_option('taxonomy_image_plugin');
$thumb_url = wp_get_attachment_url( $thumb_url[$lc->term_taxonomy_id] );
}
?>
Mais essayons d'abord de le faire fonctionner avec des champs personnalisés avancés.