get only sub category ID

时间:2014-09-23 作者:Accore LTD

我只需要获得子类别ID。我已经获得子类别ID,但它也与主类别ID一起提供

波纹管为代码

<?php while ( have_posts() ) : the_post(); ?>

<option value=".<?php
     foreach((get_the_category()) as $category) {
     echo $category->cat_ID . \' \'. $category->cat_name ;
     }
     ?>">
              <?php
     foreach((get_the_category()) as $category) {
     echo $category->cat_name . \' \';
     }
     ?>

</option>
<?php endwhile; 
?>
在代码之后,我的呈现代码就像下面这样

<select id="filter-select">
          <option value="*" selected="selected">all</option>
                    <option value=".15 8 ">Magdalena Venta </option>
                    <option value=".15 8 ">Bo. de la Magdalena</option>
                    <option value=".16 8 ">Juan Venta</option>
                    <option value=".17 8 ">Club de G</option>
                    <option value=".21 8 ">Fraccionamiento Viñedos Venta</option>
</select>
后面的值都是子类别id,如15、16、17、21,但8 是主类别ID。我不想要这个8 即将到来。

所以我主要想这样<option value="child category ID ">Child Category Name </option>

我还在努力。如果我能得到任何解决方案,它会贴在这里

3 个回复
最合适的回答,由SO网友:kaiser 整理而成

因为你只想select 表单字段中有一个类别子项,然后只需使用wp_list_categories()

wp_list_categories( array(
    \'child_of\' => \'your parent cat ID\',
) );
根据您的用例,您还可以使用

  • get_the_category() 及其get_the_categories 滤器

    apply_filters( \'get_the_categories\', $categories );
    
  • get_the_terms() 及其过滤器(函数由内部调用get_the_category():

    apply_filters( \'get_the_terms\', $terms, $post->ID, $taxonomy );
    
  • get_categories(), 将特殊键传递给参数输入数组(例如。my-special-list) 然后在函数内部的过滤器上签入回调,并在那里更改输出。函数调用get_terms() 在调用过滤器回调之后。

    apply_filters( \'get_categories_taxonomy\', $taxonomy, $args );
    
  • get_term_children( $term_ID, \'category\' )
Edit 始终可以使用get_queried_object(). 还有一个函数可以提取其ID:get_queried_object_id().

SO网友:Michelle

我想你需要用一个额外的if 语句删除没有父级的类别(即顶级类别),如下所示:

<?php while ( have_posts() ) : the_post(); ?>

<?php
     foreach((get_the_category()) as $category) {
       if($category->parent) { // check if this category has a parent
          echo \'<option value="\' . $category->cat_ID . \' \'. $category->cat_name . \'">\' . $category->cat_name . \'</option>\'; 
       }
     } 
    endwhile; 
?>

SO网友:mjakic

仅使用wp_dropdown_categories 并对当前页面的类别使用参数的child\\u。

<?php $obj_id = get_queried_object_id(); // category ID ?>
<?php wp_dropdown_categories(array(
    \'child_of\' => $obj_id,
    \'hide_empty\' => false // use this to show ALL sub-categories, even empty ones; otherwise omit this
)); ?>

结束

相关推荐

Show Pages in Categories

通过将此代码添加到函数中,我创建了category函数。php:function page_category() { register_taxonomy_for_object_type(\'category\', \'page\'); } // Add to the admin_init hook of your theme functions.php file add_action( \'init\', \'page_category\' ); 但问