以编程方式将帖子计数添加到菜单(导航)?

时间:2014-06-03 作者:user1915665

我对这件事感到相当困惑。

在没有太多查询的情况下,我想知道一个人可能会采取什么方式来生成一个菜单,该菜单链接到一类帖子,并在括号中显示有多少新帖子。

示例:

News (5 new)
Articles (8 new)

。。。等等

在不运行一百万个查询的情况下,实现这一点最有效的方法是什么?

2 个回复
SO网友:Matt Dietsche

WordPress的get\\u categories()函数返回一个类别对象数组,每个对象都有一个“count”属性,表示该类别中的帖子数。因此,类似这样的内容将为您提供指向类别页面的链接列表:

$categories = get_categories();

$markup = \'<ul>\';
foreach( $categories as $category ) {
   $catName = $category->category_nicename;
   $count   = $category->count;
   $url     = get_category_link( $category->cat_ID );

   $markup .= \'<li>\';
     $markup .= "<a href=\\"{$url}\\">{$catName} ({$count})</a>";
   $markup .= \'</li>\';
}
$markup .= \'</ul>\';
这将允许您使用单个查询显示计数。我确信有一种方法可以使用更复杂的自定义查询而不是get\\u categories()来查找“新”帖子的数量,但我可能只会消耗为每个类别进行另一个查询的任何额外开销,而不是尝试在单个查询中完成这一切。叫我懒惰。

SO网友:Lea Cohen

如果你打电话wp_list_categories, 并添加参数\'show_count\'=> 1, 它将在括号内返回每个类别中的帖子数量。

关于获取日期评估,您可能需要使用date parameters 在里面WP_Query.

结束

相关推荐

Related posts meta_query CPT

我有两个帖子类型“艺术家”和“歌曲”,在“歌曲”中,我有一个带有“艺术家”姓名复选框列表的元框。我想显示相关帖子,如果任何帖子具有与艺术家姓名相同的帖子元值:wp_reset_postdata(); global $post; $artist_name = get_post_meta(get_the_ID(), \"artist_name\", true); $args = array( \'post_type\' => array(\'songs\