webentwicklung-frage-antwort-db.com.de

Erweiterte benutzerdefinierte Felder - Taxonomie bezeichnet Bilder

Ich habe das Plugin Advanced Custom Fields verwendet, um meiner Taxonomie ein benutzerdefiniertes Feld hinzuzufügen. Dieses benutzerdefinierte Feld ist ein Bild, das dem Begriff zugeordnet ist. Jetzt habe ich eine Seite, auf der ich eine Liste aller Begriffe (z. B. Autohersteller) anzeigen kann:

$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 */
     }
}

Ich möchte das mit jedem Begriff verknüpfte Bild anzeigen. Wie kann ich das erreichen?

EDIT

Hier ist das Beispielergebnis für einen Begriff: stdClass Object ( [term_id] => 5 [name] => Honda [slug] => honda [term_group] => 0 [term_taxonomy_id] => 5 [taxonomy] => manufacturer_tax [description] => [parent] => 0 [count] => 0 )

Es sieht so aus, als ob mit diesem Begriff kein Bild verknüpft ist. Ich kann das Bild jedoch im Backoffice sehen.

2
Cthulhu

OK, ich habe es selbst ausprobiert. Ich wusste nicht, dass ACF Felder zu Taxonomien hinzufügen kann, was sehr praktisch ist, also wollte ich es auch herausfinden.

        <?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 } ?>

Es ist in den Dokumenten hier http://www.advancedcustomfields.com/docs/tutorials/retrieving-values-from-other-pages-taxonomy-user-media/

<?php the_field('taxonomy_image', 'library_categories_3'); ?>

Ersetzen Sie also einfach den Feldnamen durch Ihren Feldnamen und library_categories_ durch den Taxonomienamen. Das sollte es tun!

4
Barry Walsh

Können Sie das Ergebnis eines $ -Begriffs ausdrucken, um zu sehen, was gespeichert ist?

Ich habe stattdessen dieses Plugin verwendet http://wordpress.org/extend/plugins/taxonomy-images/

und der Code, den ich verwendet habe, um das Bild für jede Taxonomie zu erhalten, ist:

<?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] );
            }
?>

Aber lassen Sie uns zuerst versuchen, es mit erweiterten benutzerdefinierten Feldern zum Laufen zu bringen.

2
Barry Walsh