Count several post tags

时间:2020-06-11 作者:JoBe

这可能应该发布在php论坛上,但由于它与WordPress相关,我在这里尝试一下。。

使用此代码,我将获得某个标签上的帖子总数;

$term = get_term_by(\'slug\', lizard, post_tag);
echo $term->count;
如果我想知道10个不同标签中总共有多少帖子,我该怎么写?

我猜是某种数组?

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

如果我想知道10个不同标签中总共有多少帖子,我该怎么写?

如果你是指职位总数的总和,即count 每个术语的值,然后:

是的,您可以将slug列表放入一个数组中,并循环遍历各个项目,以手动求和总计:

$term_slugs = [ \'slug\', \'slug-2\', \'etc\' ];
$post_count = 0;

foreach ( $term_slugs as $slug ) {
    $term = get_term_by( \'slug\', $slug, \'post_tag\' );
    $post_count += $term->count;

    // This is just for testing.
    echo $term->name . \': \' . $term->count . \'<br>\';
}

echo \'Grand total posts: \' . $post_count;
get_terms()get_tags() (使用get_terms() 顺便说一句)带wp_list_pluck()无需执行foreach 循环:

$term_slugs = [ \'slug\', \'slug-2\', \'etc\' ];
$terms = get_terms( [
    \'taxonomy\' => \'post_tag\',
    \'slug\'     => $term_slugs,
] );
/* Or with get_tags():
$terms = get_tags( [ \'slug\' => $term_slugs ] );
*/

$post_count = array_sum( wp_list_pluck( $terms, \'count\' ) );
echo \'Grand total posts: \' . $post_count;

相关推荐

如何在GET_POSTS()函数中通过某个页面的插件及其所有子页面获取页面ID数组?

我的主题中有一个自定义函数,可以创建动态sitemap.xml 文件我用的是$myVar = get_posts( array(...) ). 在该数组中,我需要排除一些页面。我想排除某些父页面及其所有子页面。我只想使用父页面slug来获取父页面和子页面的所有ID的数组。问题是:\'exclude\' => 在array() 仅接受ID数组。不是鼻涕虫。如何通过某种函数(或其他方式)通过父页面slug返回ID数组(包括父ID及其所有子项)来实现它?例如,假设父页面slug是abc.谢谢你了。