1

假设我有以下类别。

Movies

----- Action
----- Science fiction
----- Drama

Music

----- POP
----- Rock

在这里,电影和音乐是父类别,其余是子类别。

如果我只想显示音乐类别中的 POP 音乐(POP 的帖子),我该怎么做。

请帮忙!。

我不知道如何显示子类别的帖子。我唯一拥有的是一个示例代码,它可以显示父类别和子类别的帖子。

<?
// Get the post ID
        $id = get_the_ID();         


        //get all the categories ( this function will return all categories for a post in an array)
        $category= get_the_category( $id );

        if ($category->category_parent == 0) {

        //extract the first category from the array
        $catID = $category[0]->cat_ID;

        //Assign the category ID into the query
        $verticalNavigationSwitcher = "cat=$catID&orderby=ID&order=ASC";
     }              


        $result = new WP_Query($verticalNavigationSwitcher);


                    //$featuredPosts->query('showposts=5&cat=3');
                    while ($result->have_posts()) : $result->the_post(); 
        ?>


   <li><a href='<?php the_permalink() ?>'><span><?php the_title(); ?></span></a></li>


  <?php 
            endwhile; 
            wp_reset_postdata();
 ?> 
4

2 回答 2

0

看起来您使用的示例过于复杂。如果您只需要特定类别的帖子,那么您可以使用类别 slug 或 ID 来检索帖子,并使用 WP_Query ,如上例所示。

因此,如果“流行”类别的 id 为 4(您可以通过将鼠标悬停在 Posts -> Categories 中的类别名称上来获取类别 ID ...它显示在编辑链接中),那么您的代码将是;

<?php
$result = new WP_Query( 'cat=4' );

while ($result->have_posts()) : $result->the_post(); 
?>

这是法典的相关部分;

https://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters

于 2013-04-22T13:41:09.757 回答
0

我找到了一种只显示一个子类别帖子的方法。

如果我在查询中使用“category__in”,它会返回一个类别的帖子。

$verticalNavigationSwitcher = "category__in=$catID&orderby=ID&order=ASC";
于 2013-05-07T00:54:27.327 回答