ACF - 显示自定义帖子类型自定义类别的图像

时间:2017-10-26 13:26:20

标签: php wordpress custom-post-type categories advanced-custom-fields

我有一个问题,我相信答案就在这里:https://www.advancedcustomfields.com/resources/get-values-from-a-taxonomy-term/但我无法弄清楚如何将它应用到我的代码......

我使用高级自定义字段在自定义帖子类型的类别中添加图片字段。我的自定义帖子类型是呼叫短课程,类别名称是课程类型。

这是循环:

        <?php
            $customPostTaxonomies = get_object_taxonomies('short_courses');

            if(count($customPostTaxonomies) > 0)
            {
                 foreach($customPostTaxonomies as $tax)
                 {
                     $args = array(
                          'orderby' => 'name',
                          'show_count' => 0,
                          'pad_counts' => 0,
                          'hierarchical' => 1,
                          'taxonomy' => $tax,
                          'title_li' => '',
                          'hide_empty' => FALSE
                          );

                        $categories = get_categories( $args );
                        foreach ( $categories as $category ) {
                            echo '

                            <div class="one-half sc-cat-items">
                                <img src="' . get_field('course_type_image', $category->name) . '">

                                <h2>
                                    <a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a>
                                </h2>
                            </div>';
                        }

                 }
            }
        ?>

我尝试添加此行以检索每个类别的图像:

<img src="' . get_field('course_type_image', $category->name) . '">

这会打印出<img src="">标记,但由于某种原因它没有填写网址...

我也尝试过<img src="' . get_field('course_type_image') . '">,但结果相同

目前它看起来像这样:

enter image description here

我试图显示每个类别的图像,所以它看起来像这样:

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试以下代码:

 $taxonomy = $category->taxonomy;
 $term_id = $category->term_id; 
 $slug =  $taxonomy . '_' . $term_id; 

 $img = get_field('course_type_image',$slug);

if(sizeof($img))
{
      echo '<img src="'.$img['url'].'">';
}

您可以使用我的代码修改循环,如下所示:

foreach ( $categories as $category ) {
      echo '<div class="one-half sc-cat-items">';
              $taxonomy = $category->taxonomy;
              $term_id = $category->term_id; 
              $slug =  $taxonomy . '_' . $term_id; 

              $img = get_field('course_type_image',$slug);
              if(sizeof($img))
              {
                   echo '<img src="'.$img['url'].'">';
              }    

         echo '<h2><a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a></h2>';
      echo '</div>';
}