我正在使用Wordpress插件WP Hydra:https://de.wordpress.org/plugins/wp-hydra/ 由于存在多个域,并且只有一个后端和数据库,因此我可以使用pre_get_posts过滤器进行设置,以使存档中仅显示具有所请求域分类法的帖子。 (例如:我有一个类别为“ thisisadomain.com”的分类“域”,并且选中了该术语的帖子,并且我正在检查“当前域”并将其与该术语匹配) 这根本没有问题。 问题是,我还想用get_gategories()和wp_list_categories()创建一个类别菜单,并显示类别中的帖子数,并隐藏那些空的帖子。
$mainCats = array(
'orderby' => 'name',
'taxonomy' => 'listingcategory',
'order' => 'ASC',
'parent' => '140',
'show_count' => 1,
'hide_empty' => 1,
'pad_counts' => true,
);
$maincategories = get_categories($mainCats);
foreach ( $maincategories as $category ) {
$featured_catlist_list = wp_list_categories(array(
'title_li' => $category->name,
'child_of' => $category->term_id,
'echo' => 0,
'depth' => 1,
'taxonomy' => 'listingcategory',
'show_count' => 1,
'hide_empty' => 1,
'pad_counts' => 1,
'show_option_none' => '',
));
pre_get_posts过滤器对此不起作用,因为我猜Wordpress每次保存和删除帖子时,都会将类别中的帖子数保存到数据库中的术语中。
我还尝试询问每个帖子是否有查询,如果它属于wp_list_categories中的类别并计数...但这非常耗费CPU且没有适当的解决方案。该页面已缓存(清漆),但仍在耗尽CPU。
此问题还有其他解决方案吗?