未在层次结构中列出子类别的帖子

时间:2012-12-05 作者:dodgerogers

我有一个类似杂志的帖子结构,如下所示:Parent -> Sub category -> Article.

父类是问题,子类是杂志内的部分,如新闻和采访等,然后文章就在这些部分内。

我有与子类别关联的背景图像,然后该子类别中的文章继承背景图像。单一代码。php从其子类别中检索背景图像,因此[1]不是其顶级父级[0]。

<?php 
$category = get_the_category();
$hierarchy = array_reverse( get_ancestors( $category[0]->term_id, \'category\' ) );
$hierarchy[] = $category[0]->term_id; 
?>

<body style="background:url(\'<?php echo z_taxonomy_image_url($hierarchy[1]); ?>\')" class="background-img">
在大多数情况下,这很好,但是在一些文章中,背景图像没有显示出来。我有面包屑显示类别结构,工作的帖子显示完整parent -> sub category -> post name 结构,但对那些不起作用的只是显示parent -> post name. 底部有标准的wordpress面包屑和元信息,总是显示文章的正确继承人,这就是为什么我感到困惑的原因。

为什么有些帖子是他们正确的继承人,而其他帖子则不是?

我的permalink结构是index.php/category/postname

你可以在这里查看bugpost with background and proper taxonomy at the top

post with incorrect hierarchy here so no background and incorrect breadcrumbs at the top

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

您的代码失败,因为第一个术语是父术语,这是由于同时检查父术语和子术语造成的。

你不需要这样做,如果我有一个继承人a->B->C->帖子,并且我将帖子添加到C类别中,它会自动成为其父类的一部分

结束

相关推荐

Match two posts in categories

我有博客帖子,每一篇都有三个或三个以上的类别。问题是我需要搜索相关帖子,我必须匹配至少两个类别,即必须有两个常见类别。我正在使用此查询: $args = wp_parse_args($args, array( \'showposts\' => 10, \'post__not_in\' => array($post_id), \'ignore_sticky_posts\' => 1, \'category__in\' =&