繁体   English   中英

我的taxonomy- $ taxonomy.php页面帖子未显示?

[英]my taxonomy-$taxonomy.php page post not show?

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

这是产品页面获取条款和链接代码-

<div class="side_box side_box_1 red5">
    <h5><a href="#" class="tgl_btn">Filter Products</a></h5>
    <h6>Brand</h6>
    <?php $topics = get_terms('product_cat');
        echo '<ul class="advanced-filters tgl_c">';
        foreach ($topics as $topic) {
            echo '<li class="advanced-filter" data-group="Brand"><a href="'.get_term_link($topic).'">'.$topic->name.'</a></li>';
        }
        echo '</ul>';?>
</div> 

这是自定义分类标准代码-

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');

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

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

但是结果是未找到任何产品,所以请有人帮助我如何解决此问题。

请参阅文件

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

特别

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

$ terms = get_terms(array('taxonomy'=>'post_tag','hide_empty'=> false,));

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

  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,但是我的Google技能无与伦比...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM