web-dev-qa-db-fra.com

Champs personnalisés avancés - images de termes de taxonomie

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.

2
Cthulhu

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!

4
Barry Walsh

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.

2
Barry Walsh