我的分类 - $ taxonomy.php页面帖子没有显示?

时间:2016-07-25 06:00:37

标签: php wordpress wordpress-theming custom-wordpress-pages

我创建了一个自定义的后分类法。现在我想通过特定的分类法显示所有特定的帖子。所以我创建了一个taxonomy-product_cat.php页面。

这是产品页面获取期限和链接代码 -

function product_taxonomy() {
register_taxonomy(
    'product_cat',  //The name of the taxonomy. Name should be in slug form (must not contain capital letters or spaces).
    'product',                  //post type name
    array(
        'hierarchical'          => true,
        'label'                 => 'product Category',  //Display name
        'query_var'             => true,
        'show_admin_column' => true,
        'rewrite'               => array(
            'slug'              => 'product-category', // This controls the base slug that will display before each term
            'with_front'        => false // Don't display the category base before
            )
        )
);
}
add_action( 'init', 'product_taxonomy');

这里是自定义后分类代码---

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); $unique = "_product_"; ?>
  <div class="col-md-3 col-xs-6 element mb30">
    <div class="main_box">
      <div class="box_1">
        <div class="product-image">
          <a href="<?php the_permalink(); ?>">
            <?php the_post_thumbnail( $post->ID, 'product-image',array('class' => 'img-responsive') );?>
          </a>
        </div>
        <div class="overlay hidden-sm hidden-xs">
          <a href="<?php the_permalink(); ?>" class="btn_c more_btn">More Info</a>   
        </div>
      </div>
      <div class="desc">
        <h5><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h5>
        <p><?php echo get_post_meta(get_the_ID(),$unique.'brand_name',true); ?></p>
      </div>
    </div>
  </div>
  <?php endwhile; ?>
  <?php else :?>
  <h3><?php _e( 'Not Found Any Product.' ); ?></h3>
<?php endif ?> 

这是taxonomy-product_cat.php页面代码 -

self.resources

但结果是找不到任何产品。所以请有人帮助我如何解决这个问题。谢谢

1 个答案:

答案 0 :(得分:0)

参见文档

https://developer.wordpress.org/reference/functions/get_terms/

具体而言

  

从4.5.0开始,分类法应该通过$ args数组中的'taxonomy'参数传递:

     

$ terms = get_terms(array(       &#39;分类&#39; =&GT; &#39; post_tag&#39 ;,       &#39; hide_empty&#39; =&GT;假,   ));

而不是第一个参数是分类法。

  get_terms('product_cat');

你应该做

 get_terms(array(
   'taxonomy' => 'product_cat'
));

不确定这是否是问题,但似乎是最明显的事情。

<强>更新

你试过这个吗?

get_terms(array(
   'taxonomy' => 'product_cat',
   'hide_empty' => 0
));

如果您未使用

插入任何实际条款,则会显示分类
wp_insert_term()

根据此页面, https://wordpress.org/support/topic/get_terms-does-not-return-my-custom-taxonomy-terms

我通常不会在这个级别上使用WP,但我的谷歌技能是无与伦比的......大声笑