2

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

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

$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); 

它确实对类别和帖子进行了适当的排序,但这会拉入所有类别的所有帖子。我需要该链接仅显示最近添加的类别。

4

2 回答 2

1

最近添加的术语将是具有最高 ID 的术语。获取按 ID 降序排列的单个术语,您将拥有最近添加的术语。

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

$recent_issue = get_terms( 'issue', $args );
于 2012-10-31T23:33:16.320 回答
0

因为categoriestaxonomyWordpress 中的一个,所以没有与它们相关的日期来告诉您“最新”的日期是什么。如果您需要跟踪最近创建的类别是什么,您可以使用created_termWordpress 源代码中的/wp-includes/taxonomy.php和 function 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()调用中使用。

于 2012-10-31T21:09:54.727 回答