如何显示按分类、当前术语和子术语分组的自定义帖子的链接?

时间:2021-11-28 作者:NickFomM

我试图按子术语显示带有链接的帖子,并按父术语显示组库帖子和子术语。例如:

父术语1

父术语1

第1学期

第二学期

母学期2

第3学期

我收到的不是这封信,而是第6封信:

第1学期

第二学期

第三学期。。。

这是我当前的代码:

$all_terms = get_terms([\'taxonomy\' => \'course-category\', \'hide_empty\' => 1 ] );
if (!$all_terms){
    $Content = \'<h2>no terms</h2>\';;
    
}
foreach (  $all_terms as $term ) { // external
    $query = new WP_Query( [
        \'post_status\' => \'publish\',
        \'post_type\' => \'course\'
        
        
    ]);
    if ( ! $query->have_posts() ) continue;
    $Content .= \'<h3>\' . $term->name . \'</h3>\';
    $Content .= "<div>";
    while ( $query->have_posts() ) {// internal
        $query->the_post();
        $Content .= \'<li><a href="\'. get_permalink() .\'">\'. get_the_title() .\'</a></li>\';
        
       
    }
    $Content .= "</div>";
我真的不知道如何使用get\\u terms(),也许还有get\\u term\\u children()来处理这个问题。

请帮我解决这个问题。。。如果你能给我提些建议,我将不胜感激。谢谢

1 个回复
SO网友:Tom J Nowell

我真的不知道如何使用get\\u terms(),也许还有get\\u term\\u children()来处理这个问题。

我认为您遗漏了3条重要信息:

没有父项的术语的父ID为0get_term_children, 只需使用parent 的参数get_terms

  • 要使其在一个或两个级别以上的深度工作,您需要将其放入递归函数中,否则最终只会产生成吨的嵌套循环get_terms 采用与相同的参数WP_Term_Query, 我强烈建议阅读有关官方文件的现有论据:

    https://developer.wordpress.org/reference/classes/wp_term_query/__construct/

    同样,所有这些都会在官方评论中用例子加以解释get_terms 文档页:

    https://developer.wordpress.org/reference/functions/get_terms/

  • 相关推荐

    使用wp_get_Object_Terms返回多个分类

    我有一个循环来显示自定义帖子类型“workshop”的帖子。在循环中,我使用wp_get_object_terms().它工作得很好。然而,我很难控制分类法在显示时的顺序。它应该总是在第一个“区域”,然后是“组”。显示相关分类的代码:<?php $workshop_terms = wp_get_object_terms( $post->ID, array( \'area\', \'group\' ) ); if ( ! empty( $workshop_terms ) ) {