Расширенные пользовательские поля - изображения терминов таксономии [закрыто]


Я использовал Расширенный пользовательский Поля плагин для добавления настраиваемого поля в мою таксономию. Это настраиваемое поле представляет собой изображение, связанное с термином. Теперь у меня есть страница, на которой я отображаю список всех терминов (например, производители автомобилей):

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

Я хочу отобразить изображение, связанное с каждым термином. Как я могу это сделать?

РЕДАКТИРОВАТЬ

Вот пример результата для одного термина: stdClass Object ( [term_id] => 5 [name] => Honda [slug] => honda [term_group] => 0 [term_taxonomy_id] => 5 [taxonomy] => manufacturer_tax [description] => [parent] => 0 [count] => 0 )

Похоже, что с этим термином не связано никакого изображения. Тем не менее, я вижу, что изображение в фоновом режиме.

Author: Cthulhu, 2012-11-02

2 answers

Хорошо, я сам попробовал это сделать, я не понимал, что ACF может добавлять поля в таксономии, что действительно удобно, поэтому я тоже хотел это выяснить.

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

Это есть в документах здесь http://www.advancedcustomfields.com/docs/tutorials/retrieving-values-from-other-pages-taxonomy-user-media/

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

Поэтому просто замените имя поля своим именем поля, а library_categories_ - именем таксономии. Это должно сработать!

 4
Author: Barry Walsh, 2012-11-02 12:04:07

Можете ли вы распечатать результат $term, чтобы мы могли увидеть, что хранится?

Вместо этого я использовал этот плагин http://wordpress.org/extend/plugins/taxonomy-images/

И код, который я использовал для получения изображения для каждой таксономии:

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

Но давайте сначала попробуем заставить его работать с расширенными пользовательскими полями.

 2
Author: Barry Walsh, 2012-11-02 11:38:59