dstew32424
2017-10-16 09:39
浏览 39
已采纳

WordPress在wordpress循环中回显自定义帖子类型的分类

I have created a Custom Post Type product and for this CPT I've also created a taxonomy with the name products_types.

Now on my overview page of all the products I would like to echo out the product type that was given to the product. But I keep getting bool(false).

My code:

<div class="row">
        <?php
        $loop = new WP_Query( array( 'post_type' => 'product') );
        if ( $loop->have_posts() ) :
            while ( $loop->have_posts() ) : $loop->the_post();
                ?>

                <div class="col-md-4 col-lg-3 work">
                    <div class="category">
                        <?php
                        $category = get_the_terms('product', 'products_types');
                        var_dump($category);
                        echo $category;
                        ?>
                    </div>
                    <a href="<?php the_permalink() ?>" class="work-box"> <img src="<?= get_field('image'); ?>" alt="">
                        <div class="overlay">
                            <div class="overlay-caption">
                                <p><?php echo the_title() ?></p>
                            </div>
                        </div>
                    </a>
                </div>

                <?php
            endwhile;
        endif;
        wp_reset_postdata();
        ?>
</div>

Anyone can help me out here please?

图片转代码服务由CSDN问答提供 功能建议

我创建了一个自定义帖子类型 product ,对于这个CPT,我也创建了 名称为 products_types 的分类。

现在在我的所有产品的概述页面上,我想回应一下产品类型 给了产品。 但我一直得到 bool(false)

我的代码:

 &lt; div class =“  row“&gt; 
&lt;?php 
 $ loop = new WP_Query(array('post_type'=&gt;'product')); 
 if($ loop-&gt; have_posts()):
 while(  $ loop-&gt; have_posts()):$ loop-&gt; the_post(); 
?&gt; 
 
&lt; div class =“col-md-4 col-lg-3 work”&gt; 
  &lt; div class =“category”&gt; 
&lt;?php 
 $ category = get_the_terms('product','products_types'); 
 var_dump($ category); 
 echo $ category; 
?&gt;  ; 
&lt; / div&gt; 
&lt; a href =“&lt;?php the_permalink()?&gt;” 类=“工作盒”&GT;  &lt; img src =“&lt;?= get_field('image');?&gt;”  alt =“”&gt; 
&lt; div class =“overlay”&gt; 
&lt; div class =“overlay-caption”&gt; 
&lt; p&gt;&lt;?php echo the_title()?&gt;&lt;  ; / p&gt; 
&lt; / div&gt; 
&lt; / div&gt; 
&lt; / a&gt; 
&lt; / div&gt; 
 
&lt;?php 
 endwhile; 
 endif; 
  wp_reset_postdata(); 
?&gt; 
&lt; / div&gt; 
   
 
 

有人可以帮我吗?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duancan9815 2017-10-16 09:45
    已采纳

    You need to pass the Post ID or object in first parameter of get_the_terms(). Used get_the_ID() which return the post ID.

    Example:

    foreach (get_the_terms(get_the_ID(), 'products_types') as $cat) {
       echo $cat->name;
    }
    
    已采纳该答案
    打赏 评论
  • dsaeyrq451928 2017-10-16 09:46

    How to print taxonomy terms of custom post type in WordPress loop?

    <div class="row">
            <?php
            $loop = new WP_Query( array( 'post_type' => 'product') );
            if ( $loop->have_posts() ) :
                while ( $loop->have_posts() ) : $loop->the_post();
                    ?>
    
                    <div class="col-md-4 col-lg-3 work">
                        <div class="category">
                            <?php
                            $terms = get_the_terms( get_the_ID(), 'products_types' );
    
                            if ( $terms && ! is_wp_error( $terms ) ) : 
    
                                $category_links = array();
    
                                foreach ( $terms as $term ) {
                                    $category_links[] = $term->name;
                                }
    
                                $categories = join( ", ", $category_links );
                                ?>
                                <?php printf( esc_html( $categories ) ); ?>
                            <?php endif; ?>
                        </div>
                        <a href="<?php the_permalink() ?>" class="work-box"> <img src="<?= get_field('image'); ?>" alt="">
                            <div class="overlay">
                                <div class="overlay-caption">
                                    <p><?php echo the_title() ?></p>
                                </div>
                            </div>
                        </a>
                    </div>
    
                    <?php
                endwhile;
            endif;
            wp_reset_postdata();
            ?>
    </div>
    
    打赏 评论

相关推荐 更多相似问题