查询自定义分类术语的所有帖子

时间:2019-09-13 作者:F.A

我在上使用此代码single.php, 此查询工作正常,但当post有父项(父项也有子项)时,这会给出输出all posts of parent & children

但在这种情况下,我希望它只查询父术语帖子。

<?php 
$post_terms = wp_get_object_terms($post->ID, \'serial\', array(\'fields\'=>\'ids\'));
    $args = array(
        \'post_type\' => \'post\',
        \'post_status\' => \'publish\',
        \'order\'    => \'ASC\',
        \'posts_per_page\' => -1,
        \'tax_query\' => array(
            array(
                \'taxonomy\' => \'serial\',
                \'field\' => \'id\',
                \'terms\' => $post_terms,
                ),
        )
    );
    $the_query = new WP_Query( $args );
    if ( $the_query->have_posts() ) {
        while ( $the_query->have_posts() ) {
        $the_query->the_post();
            the_title();
        }
    } else {
    }
wp_reset_postdata();
?>
如何根据附加条款查询帖子,仅根据附加条款(当帖子有父条款时不检查子条款)?

1 个回复
SO网友:Mike Baxter

我相信你的问题在于理解帖子层次结构与页面层次结构的本质。页面是“post”的一种类型。它可以具有层次结构。

默认情况下,帖子没有层次结构。因此,您将无法在没有子女的情况下获得post parents,因为系统无法识别层次结构。除非您使用自定义函数修改结构,或安装特定插件向帖子添加层次结构,否则这是正确的。

如果您真的需要这种层次结构,您可以尝试this StackOverflow answer 添加层次结构。这将允许您尝试完成的任务。