对于特定的帖子类型,我在管理屏幕中的每一行都运行此WP查询:
$entry_args = array(
\'meta_key\' => \'wp_comp_entry_competition-id\',
\'meta_value\' => $post_ID,
\'post_type\' => \'wp_comp_entries\'
);
$entry_query = new WP_Query( $entry_args );
此WP查询获取由
$post_ID
. 有
a lot of 自一场比赛以来的数据将有数千个条目。
因此,此查询重复多次(针对管理屏幕中的每一行)相当慢。此外,我不需要所有这些数据。我only want to know the number of entries 对于每个比赛$post_ID
.
我想只有COUNT
将此WP查询更改为WordPress数据库上更简单、直接的SQL查询。
如何仅获取每个比赛的参赛人数,而不获取与每个参赛相关的所有帖子数据?
Further explanation:
我现在尝试使用以下两种方法仅获取帖子数量:
1) 通过\'fields\' => \'ids\'
查询参数的步骤
$entry_args = array(
\'meta_key\' => \'wp_comp_entry_competition-id\',
\'meta_value\' => $post_ID,
\'post_type\' => \'wp_comp_entries\',
\'fields\' => \'ids\'
);
$entry_query = new WP_Query( $entry_args );
然后使用
$entry_qyery->found->posts
获取号码
2) 使用query_posts
像这样:
$entry_args = array(
\'meta_key\' => \'wp_comp_entry_competition-id\',
\'meta_value\' => $post_ID,
\'post_type\' => \'wp_comp_entries\',
\'fields\' => \'ids\',
\'posts_per_page\' => -1
);
$entry_query = query_posts( $entry_args );
然后使用
count($entry_query)
统计所有提取的ID(如
query_posts
返回了一个数组)。
我的第一次经验是query_posts
速度比WP Query
在这种情况下。