获取当前帖子当前任期的子术语

时间:2014-07-30 作者:Harman Preet

我有自定义的帖子类型“product”,分类法是“product\\u cat”。有两个儿童术语-音乐和视频。在音乐下,我又有两张儿童专辑和单曲。现在,当我进入音乐类别时,我想了解音乐的所有儿童术语。我正在使用以下代码

<?php $page_id = get_the_id(); ?>

<?php $cat_terms = wp_get_object_terms( $page_id, \'product_cat\' ); ?>

<pre><?php var_dump($cat_terms); ?></pre>


<?php foreach ($cat_terms as $terms  ) {?>
<?php $array = (array) $terms; ?>
<section id="engagement-rings">
  <div class="container">
    <div class="row">
      <div class="col-lg-12 col-sm-12 col-md-12 col-xs-12">
        <div class="display-rings">
          <div class="heading-img text-center"><?php echo $array["name"]; ?></div>
          <div class="engagement rings-list clearfix">
            <ul class="list-unstyled clearfix">
            <?php
                   $args = array( \'post_type\'=>\'product\',
                  \'tax_query\' => array(

                    array(
                      \'taxonomy\' => \'product_cat\',
                      \'field\' => \'slug\',
                      \'terms\' => $array["name"],
                    )
                  )
                );
                $postslist = get_posts( $args );


              ?>
                <?php foreach ($postslist as $post) : ?>
                    <?php $array1 = (array) $post; ?>

                    <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), \'shop_thumbnail\' ); ?>
                    <li><a href=""><img src="<?php echo $image[0]; ?>" alt=""></a></li>
                <?php endforeach; ?>
            </ul>
            <a href="#" class="view-all">View all</a>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>
<?php } ?>
但这是给我的音乐类别和一个孩子,即专辑。但我只想要专辑和单曲。

请帮帮我

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

我想你应该get_queried_object() 返回当前页的术语。从那里你应该得到分类名称、术语ID和父项。

这是我的逻辑。每当您在家长学期,即音乐或视频,家长都会回来0. 只有在父术语页面上,才能使用此选项执行代码。

以下是var_dump($cat_terms); 在子页面上

array(0) {
}
这是来自父页面的

array(2) {
  [0]=>
  int(119)
  [1]=>
  int(120)
}
119和120是我父母学期的子学期

您有分类名称和术语ID,因此可以使用get_term_children 从您的术语音乐或视频中获取子术语。正如我所说,您只想在父页面上执行此操作。但这一切都取决于你。

这是代码

<?php 
    $queried_object = get_queried_object(\'term\');
        $tax = $queried_object->taxonomy;
        $term = $queried_object->term_id;
        $parent = $queried_object->parent;

    if( 0 == $parent ) {
        $cat_terms = get_term_children( $term, $tax );
         ?>
           <pre><?php var_dump($cat_terms); ?></pre>
         <?php 
        //<---DO SOMETHING ON PARENT TERM PAGE--->
    }else{
        //<---DO SOMETHING ON CHILD TERM PAGE
    }
?>

结束

相关推荐

尝试使用wp_set_Object_Terms,同时为术语ID和文本分类法提供数组

我想用wp_set_object_terms 参考号:http://codex.wordpress.org/Function_Reference/wp_set_object_terms 同时传递术语和分类的数组出于某种原因,我一直得到:Warning: Illegal offset type in isset or empty in /home1/stodeckc/public_html/clicktranslate/wp-includes/taxonomy.php on line 231这就是我试图设