最合适的回答,由SO网友:Nick Q. 整理而成
这应该能帮到你。
如果在函数中调用它,当然需要确保$wpdb
是全球性的。
$required_number_of_attatchments = 3;
$posts = $wpdb->get_col(
$wpdb->prepare(
"SELECT posts.ID
FROM %s AS posts
INNER JOIN (
SELECT MAX(post_modified) AS modified, post_parent
FROM %s
WHERE post_type = \'attachment\'
AND post_parent > 0
GROUP BY post_parent
HAVING COUNT(ID) > %d
) AS attachments
ON posts.ID = attachments.post_parent
WHERE posts.post_type = \'event\'
ORDER BY attachments.modified DESC",
$wpdb->posts,
$wpdb->posts,
$required_number_of_attatchments
)
);
if ( $posts ) {
foreach ($posts as $post_id) {
$post = get_post( $post_id );
setup_postdata( $post );
// Do your thing.
}
}