分类列表问题-未显示我想要的方式

时间:2016-04-22 作者:frenchy black

我拥有的是:

  • Taxonomy: menu\\u类型

    • Term: 饮料(父术语)Sub term: 饮料1、饮料2(儿童术语)Term: 开胃菜(母学期)Sub term: 开胃菜1、开胃菜2(儿童术语)我想去drink 页面并将其显示如下-该分类中的所有帖子:

      饮料

      饮料1

      饮料1岗位

      饮料2 post,同样适用于appetizer.

      但是,现在我明白了:

      饮品1贴子饮品1贴子饮品2贴子饮品2贴子这是我的密码:

      /*
      Template Name: taxonomy-menu_type
      */
      $term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'taxonomy\' ) ); ?>
      <?php get_header(); ?>
      
      <div class="container-fluid ">
          <div class="row page-title-row">
              <div class="container">
                  <h2><span>Menu</span> | <?php echo apply_filters( \'the_title\', $term->name ); ?></h2>
      
                  <?php if ( category_description() ) : // Show an optional category description ?>
                      <p><?php echo category_description(); ?></p>
                  <?php endif; ?>
              </div>
          </div>
      </div>
      
      <div class="container-fluid other-pgbody">
          <div class="row infor-row">
              <div class="container">
      
              <?php global $query_string;
              query_posts( $query_string . \'&order=ASC\' ); ?>
              <?php if (have_posts()) : ?>
      
                  <?php
                  $terms = get_terms($post->ID, "print_type");
                  echo \'<h3 class="child-term">\'.$term->name.\'</h3>\';
                  ?>
      
                  <div class="col-sm-12 menu-list">
      
                      <?php while (have_posts()) : the_post(); ?>
      
                          <div class="col-sm-12 price-row col-md-6 clearfix">
      
                              <div class="item-price">
                                  <?php if ($price = get_post_meta($post->ID,\'_marvilmedia_price\',true)): ?><?php echo \'$\'.$price; ?><?php endif; ?>   
                              </div>
      
                              <div class="item-info">
                                  <span><?php the_title(); ?></span><br/>
                                  <?php $terms_as_text = get_the_term_list( $post->ID,\'menu_side\', \'\', \', \');
                                  if (!empty($terms_as_text)) echo \'\', strip_tags($terms_as_text) ,\'\'; ?>
                              </div>
                          </div>
      
                      <?php endwhile; ?>
                      <!--/table-->
                  </div>
      
                  <?php else :
                      echo \'<h2>No Menu Item for \'.$term->name.\'</h2>\'; ?>
                  <?php endif; ?>
      
              </div>
          </div>
      
          <div class="row free-row">                
          </div>
      
      </div>
      <?php get_footer(); ?>
      

      SOLVED

      我在另一篇帖子中找到了答案,该帖子由@Gustav回复,任何人都可以通过链接或查看下面的代码来寻找解决方案,它可以完美地工作。List post from current taxonomy children

      THE WORKING CODE

              <?php 
          $term_slug = get_query_var( \'term\' );
          $taxonomyName = get_query_var( \'taxonomy\' );
          $current_term = get_term_by( \'slug\', $term_slug, $taxonomyName );
          $termchildren = get_term_children( $current_term->term_id, $taxonomyName );
          foreach ($termchildren as $child) {
          $term = get_term_by( \'id\', $child, $taxonomyName );
          $wpq = array (
          \'taxonomy\'=>$taxonomyName,
          \'term\'=>$term->slug,
          \'order\'=>\'asc\',
          \'orderby\'=>\'title\');
          $query = new WP_Query ($wpq);
          $taxonomy_img = get_term_meta( $term->term_id, \'tax-image\', true );
          //echo "$term->name:<br />"; 
          ?>
      
          <div class="row infor-row">
          <div class="container">
      
          <?php echo \'<h3 class="child-term">\'.$term->name.\'</h3>\'; ?>
          <div class="col-sm-12 menu-list">
      
          <?php if ($query->have_posts() ) : ?> 
          <?php while ($query->have_posts() ) : $query->the_post(); ?>
          <div class="col-sm-12 price-row col-md-6 clearfix">
          <div class="item-price"><?php if ($price = get_post_meta($post->ID,\'_marvilmedia_price\',true)): ?><?php echo \'$\'.$price; ?><?php endif; ?></div>
          <div class="item-info">
          <span><?php the_title(); ?></span><br/>
          <?php $terms_as_text = get_the_term_list( $post->ID,\'menu_side\', \'\', \', \'); if (!empty($terms_as_text)) echo \'\', strip_tags($terms_as_text) ,\'\'; ?>
          </div>
          </div> 
      
          <?php endwhile; ?> 
      
          <!--/table-->
          </div>
          </div>
          </div>
      
          <div class="row free-row" style="background-image: url(\'<?php echo $taxonomy_img; ?>\');">                 
          </div>
          <?php else :
          echo \'<h2>No Menu Item for \'.$term->name.\'</h2>\'; ?> 
          <?php endif;?>
          <?php wp_reset_query(); ?>
          <?php
          echo "";   
          }
          ?>
      

1 个回复
最合适的回答,由SO网友:frenchy black 整理而成

SOLVED

我在另一篇帖子中找到了答案@Gustav 对于任何像您这样寻找解决方案的人,都可以访问链接或查看下面的代码,它工作得非常好。https://wordpress.stackexchange.com/questions/123059/list-post-from-current-taxonomy-children

THE WORKING CODE

        <?php 
    $term_slug = get_query_var( \'term\' );
    $taxonomyName = get_query_var( \'taxonomy\' );
    $current_term = get_term_by( \'slug\', $term_slug, $taxonomyName );
    $termchildren = get_term_children( $current_term->term_id, $taxonomyName );
    foreach ($termchildren as $child) {
    $term = get_term_by( \'id\', $child, $taxonomyName );
    $wpq = array (
    \'taxonomy\'=>$taxonomyName,
    \'term\'=>$term->slug,
    \'order\'=>\'asc\',
    \'orderby\'=>\'title\');
    $query = new WP_Query ($wpq);
    $taxonomy_img = get_term_meta( $term->term_id, \'tax-image\', true );
    //echo "$term->name:<br />"; 
    ?>

    <div class="row infor-row">
    <div class="container">

    <?php echo \'<h3 class="child-term">\'.$term->name.\'</h3>\'; ?>
    <div class="col-sm-12 menu-list">

    <?php if ($query->have_posts() ) : ?> 
    <?php while ($query->have_posts() ) : $query->the_post(); ?>
    <div class="col-sm-12 price-row col-md-6 clearfix">
    <div class="item-price"><?php if ($price = get_post_meta($post->ID,\'_marvilmedia_price\',true)): ?><?php echo \'$\'.$price; ?><?php endif; ?></div>
    <div class="item-info">
    <span><?php the_title(); ?></span><br/>
    <?php $terms_as_text = get_the_term_list( $post->ID,\'menu_side\', \'\', \', \'); if (!empty($terms_as_text)) echo \'\', strip_tags($terms_as_text) ,\'\'; ?>
    </div>
    </div> 

    <?php endwhile; ?> 

    <!--/table-->
    </div>
    </div>
    </div>

    <div class="row free-row" style="background-image: url(\'<?php echo $taxonomy_img; ?>\');">                 
    </div>
    <?php else :
    echo \'<h2>No Menu Item for \'.$term->name.\'</h2>\'; ?> 
    <?php endif;?>
    <?php wp_reset_query(); ?>
    <?php
    echo "";   
    }
    ?>

相关推荐

Custom Taxonomy Page

我正在尝试创建一个显示特定类别的所有子类别的页面。所以在上下文中,我有一个标题为“目的地”的父类别。我希望能够点击目的地,并被引导到一个页面,显示子类别或国家的列表。下面是我试图实现的一个示例,减去顶部的地图-https://www.vagabrothers.com/destinations. 在理想情况下,类别页面的布局将与此页面相同。你可以从上面的例子中看出我的意思。它会使网站上的导航像这样:目的地>国家>个人帖子。我正在使用CPT UI,设置了一个名为“目的地”的自定义帖子类型和类别,然