如何在自定义帖子类型的相关帖子中只显示下级类别帖子?

时间:2019-01-18 作者:sameed ul hassan

我试图只显示那些与我单击的帖子属于同一类别的帖子,作为相关帖子。我的自定义分类如下:
Fsc第1年=>生物学=>生物学第1章。现在的问题是,当我点击分类bio第1章中的帖子时,所有生物学和bio第1章中的帖子都会显示在我在google上找到的代码页面上:

  <?php
    // get the custom post type\'s taxonomy terms

    $custom_taxterms = wp_get_object_terms( $post->ID, \'category\', array(\'fields\' => \'slugs\') );

    $args = array(
        \'post_type\' => \'subject\',
        \'post_status\' => \'publish\',
        \'posts_per_page\' => -1, // you may edit this number
        \'orderby\' => \'rand\',
        \'post__not_in\' => array ( $post->ID ),
        \'tax_query\' => array(
            array(
                \'taxonomy\' => \'category\',
                \'field\' => \'slug\',
                \'terms\' => $custom_taxterms
            )
        )
    );
    $related_items = new WP_Query( $args );
    // loop over query
    if ( $related_items->have_posts() ) : ?>

        <li class="widget widget_categories">
        <h3 class="widget-title">Similar Posts</h3>
        <ul>

        <?php while ( $related_items->have_posts() ) : $related_items->the_post(); ?>

            <li><a href="<?php the_permalink(); ?>"><?php the_excerpt(); ?></a></li>
             <li><a href="<?php the_permalink(); ?>"><?php the_content(); ?></a></li>

        <?php endwhile; ?>

        </ul>
        </li>

    <?php endif;
    // Reset Post Data
    wp_reset_postdata();
    ?>
我只想在这些相关帖子中显示bio chapter 1帖子作为相关帖子,而不是父分类法的帖子,或者如果我单击“来自bio taxonomy的帖子,则只显示来自bio chapter 1类别的帖子,而不显示来自bio chapter 1类别的帖子”。你能帮我怎么做吗?我是WordPress主题开发的新手,我非常感谢你。

1 个回复
SO网友:Mohsin Ghouri

请按照以下步骤操作。

---使用以下函数获取父项列表get_term_parents_list
有关函数的文档=>https://developer.wordpress.org/reference/functions/get_term_parents_list/

---获取属于父分类法的帖子的ID。--使用post__not_in() 用于删除属于父分类法的帖子的查询中的函数。

相关推荐