列出当前帖子中的特定类别和深度

时间:2012-06-11 作者:espnicholas

我在这方面已经有一段时间了,为了找到一个合适的方法来实现我的目标,我遇到了很多问题。

示例如下:

我有一个带有滚动的特色图像,我希望它显示父类别下的单个类别子级,该位置的深度为2。

它看起来像这样:

地点->美国->华盛顿特区

我正在努力争取华盛顿特区或任何一个城市被选入该职位。

我会在循环中重复使用这些信息,以获得不同的信息,每个信息可能都有自己的深度,并且需要在列表中。

目前,我一直在使用此代码,但它并没有按预期工作,因为它将拉取指定父项下的所有子类别。

<?php 
  foreach((get_the_category()) as $childcat) { 
    if (cat_is_ancestor_of(\'51\', $childcat)) { 
       echo \'<li> <a href="\'.get_category_link($childcat->cat_ID).\'">\'; echo $childcat- >cat_name . \'</a> </li>\'; 
       }
    } 
?>
任何帮助都会非常有帮助。过去三天来,我一直在做这件事。

已尝试:

<?php
   $categories = get_the_category();
 if ( $categories ) :
 $deepChild = getLowestCategory( $categories );
  ?>
 <a href="<?php echo get_category_link( $deepChild->term_id ); ?>" title="<?php echo sprintf( __( "View all posts in %s" ), $deepChild->name ); ?>"><?php echo $deepChild->name; ?></a>
 <?php 
 endif;
?>
与其他职位的职能。

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

这将获取与您的帖子相关的所有类别,并检查它们是否是其他内容的父类。如果一个不是,它是最低的类别,并且会被呼出。

<?php
    $postCats = wp_get_post_categories(); 
    foreach($postCats as $childcat) { 

        //this is a top level category

        if ($childcat->category_parent==0) {
            continue;
        }

        for ($J=0;$J<sizeof($postCats);$J++) {

            //if another category lists it as its parent, it cannot be the lowest category 
            if (strcmp($childcat->name,$postCats->category_parent)==0)
                break;
        }

        //at this point, no other cateogry says it\'s its parent, therefore it must be the lowest one

        echo \'<li> <a href="\'.get_category_link($childcat->cat_ID).\'">\'; 
        echo $childcat->cat_name . \'</a> </li>\'; 
    } 

?>

结束

相关推荐

是否对‘POST’和‘PAGE’查询同时使用GET_POSTS()?

我正在尝试获取所有属于“帖子”的帖子,不属于“3”和“5”类,也不属于“页面”。使用一个get_posts()? 因为我同时查询实际帖子和页面。。。