按其子分类对分类页面中的自定义发布类型进行分组

时间:2015-09-09 作者:Moisés Benicio

我希望你们能帮助我,伙计们。我已经使用自定义帖子类型UI插件创建了自定义帖子类型和自定义分类法。然后我创建了一个页面分类法mycustomtaxonomy。php。

例如,当我访问url时http://mysiteurl/mycustomtaxonomy/maintaxonomy1/ 我必须展示:

maintaxonomy1-title
maintaxonomy1-description

--

childtaxonomy1-title
childtaxonomy1-description
post1
post2
post3
...

--

childtaxonomy2-title
childtaxonomy2-description
post1
post2
...

--

...
我不想显示maintaxonomy1的所有帖子。只有那个帖子的子帖子。

我从以下内容开始:

<?php $terms = get_terms("mycustomtaxonomy");
$count = count($terms);
if ( $count > 0 ){
    foreach ( $terms as $term ) {
        echo \'<h2>\' . $term->name . \'</h2>\';
        $loop = new WP_Query( array( 
            \'post_type\' => \'mycustomposttype\',
            \'post_per_page\' => 100,
            \'orderby\' => \'date\',
            \'order\' => \'ASC\',
            \'tax_query\' => array(
                array(
                    \'taxonomy\' => \'mycustomtaxonomy\',
                    \'field\' => \'id\',
                    \'terms\' => $term->term_id
                )
            )
        ));
        // the loop
        while ($loop->have_posts()) : $loop->the_post();
            // do loop content
            echo \'<div>\' . get_the_title() . \'</div>\';
        endwhile;
        // reset $post so that the rest of the template is in the original context
        wp_reset_postdata();
    }
}?>
但它显示了主要分类法1的帖子。此外,显示所有分类法的帖子,我必须只显示url地址中的分类法帖子。

我希望你能理解我的问题,并真心感谢你的帮助。

1 个回复
SO网友:Moisés Benicio

我明白了!起初似乎有点困惑,但逻辑如下:

<?php $term = get_queried_object(); ?>

<?php echo $term->name; ?>

<?php 
$children = get_terms( $term->taxonomy, array(
\'parent\'    => $term->term_id,
\'hide_empty\' => false
) );
if($children) { 

foreach ( $children as $child ) {
    ?>

    <?php echo \'<li>\' . $child->name . \'</li>\'; ?>

    <?php 
        $loop = new WP_Query( array( 
            \'orderby\' => \'date\',
            \'order\' => \'ASC\',
            \'tax_query\' => array(
                array(
                    \'taxonomy\' => \'mycustomtaxonomy\',
                    \'field\' => \'id\',
                    \'terms\' => $child->term_taxonomy_id
                )
            )
        ));
        while ($loop->have_posts()) : $loop->the_post();
        ?>

        <?php echo \'<div>\' . get_the_title() . \'</div>\'; ?>

        <?php 
        endwhile;
        wp_reset_postdata();
?>

<?php }
} ?>
希望它能帮助别人!

相关推荐

如何控制根据Taxonomy术语显示什么模板?

我正在建立一个商业目录,并将给出一些背景,然后在最后有2个问题。The development URL is: http://svcta.lainternet.biz/The website I am rebuilding is: https://www.visitsimivalley.com/当前网站要求每个分类法类型具有唯一的业务概要文件。例如,如果您是一家酒店,并且您也有会议室和婚礼场地,那么您最终会得到3个列表,一个用于酒店,一个用于会议,一个用于婚礼。我希望有一个主配置文件,其中包含我们将显示的