如何在wordpress中获得术语/分类图像?

时间:2016-09-25 07:05:48

标签: php wordpress wordpress-theming

我想用特定分类法的图像显示所有术语。我使用get_term()函数获得了所有术语的详细信息。

<?php
$terms = get_terms( 'vehicle_type' ); 
foreach ($terms as $term) : 
    echo $term->slug;
    $colors = apply_filters( 'taxonomy-images-get-terms', '', array(
    'taxonomy' => 'vehicle_type',
        'term_args' => array(
            'slug' => $term->slug,
            )
    ) 
);
foreach( (array) $colors as $color) :
    echo wp_get_attachment_image( $color->image_id, 'full', array('class' => 'alignnone'));
    //echo $term->name;
endforeach;

endforeach;
?>

但它显示所有图像的相同路径。 http://localhost/mototrader/wp-includes/images/media/default.png

我怎样才能获得与该分类法相关联的实际图像路径。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您也可以通过这种方式尝试

 <?php 
$cat_id = get_query_var('cat');
$catlist = get_categories('hide_empty=0&child_of=' . $cat_id);
echo "<ul>";

foreach($catlist as $categories_item)
{
echo '<h1><a href="' . get_category_link( $categories_item->term_id ) . '" title="' . sprintf( __( "View all products in %s" ), $categories_item->name ) . '" ' . '>' . $categories_item->name.'</a> </h1> ';

echo '<div class="categoryoverview clearfix">';
    $terms = apply_filters( 'taxonomy-images-get-terms', '' );
    if ( ! empty( $terms ) ) {

      foreach( (array) $terms as $term ) {
        if($term->term_id == $categories_item->term_id) {
           print '<a href="' . esc_url( get_term_link( $term, $term->taxonomy ) ) . '">' . wp_get_attachment_image( $term->image_id, 'thumbnail' );
           echo '</a>';

        }
    }
    echo '<p>'. $categories_item->description; echo '</p>';
}
echo '</div>';
}
echo "</ul>";

答案 1 :(得分:0)

您可以添加高级自定义字段

<<使用该创建图像字段。

<<为每个分类法分配该图像

<<您可以轻松获得相应分类图像的图像。

请参阅>> >> https://www.advancedcustomfields.com/resources/adding-fields-taxonomy-term/