如何仅显示WordPress中最新类别的自定义分类的帖子

时间:2012-10-31 21:00:05

标签: php wordpress sorting custom-taxonomy

我有一个名为“问题”(如杂志问题)的自定义分类,其中的类别以每个问题的标题命名。我创建了一个名为“当前问题”的页面,并在站点的主导航中添加了一个链接。

这是我现在在页面模板中的循环:

$categories = get_terms('issue', 'orderby=count&order=asc');
     foreach( $categories as $category ): 
     ?>
     <h3><?php echo $category->name; ?></h3>
     <?php
     $posts = get_posts(array(
     'post_type' => 'issue_posts',
     'taxonomy' => $category->taxonomy,
     'term' => $category->slug,
     'nopaging' => true,
     ));
     foreach($posts as $post): 
     setup_postdata($post); 

它确实对相应的类别和帖子进行了排序,但这会拉出所有类别的所有帖子。我需要链接只显示最近添加的类别。

2 个答案:

答案 0 :(得分:1)

最近添加的术语将是ID最高的术语。按ID降序获取单个术语,您将获得最近添加的术语。

$args = array(
    'number' => 1,
    'orderby' => 'ID',
    'order' => 'DESC'
);

$recent_issue = get_terms( 'issue', $args );

答案 1 :(得分:0)

由于categories在Wordpress中是taxonomy,因此没有与它们相关联的日期来告诉您“最新”的日期。如果您需要跟踪最近创建的类别,可以使用created_term,其中Wordpress源位于/wp-includes/taxonomy.php并且功能为wp_insert_term()

do_action("created_term", $term_id, $tt_id, $taxonomy);

某个类别的$taxonomy将为category(保存前检查),$term_id将是您的类别ID。从您的功能挂钩到此操作,您可以致电update_option('latest_category_id', $term_id);,然后使用get_option('latest_category_id');稍后提取,以便在get_posts()来电中使用。