我使用此代码列出所有帖子中自定义字段名“authors”的唯一值。它工作得很好,但我想限制结果,以获得至少出现在20篇文章中的值?如何删除在不到20篇文章中使用的自定义字段值?
<ul>
<?
global $wpdb;
$query = "SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = \'authors\' ORDER BY meta_value;";
$authors = $wpdb->get_results( $query );
foreach( $authors as $author ) :
echo\'<li>\'; echo $author->meta_value; echo \'</li>\';
endforeach;
?>
</ul>
最合适的回答,由SO网友:jonathanbardo 整理而成
据我所知,我认为您可以尝试以下方式:
SELECT meta_value, COUNT(post_id) as count FROM $wpdb->postmeta WHERE meta_key = \'authors\' GROUP BY meta_value HAVING count >= 20 ORDER BY meta_value;
如果这对你有用,请告诉我!