Je dois récupérer tous les articles post_type=projects
et post_status=publish
qui ont le dernier commentaire de type message
datant de plus de 5 jours avec la valeur comment_meta en tant que key=value
.
Je veux savoir comment peut préparer la requête à exécuter dans la fonction get_posts()
.
Vous pouvez d’abord essayer la requête de commentaire suivante:
$comments = get_comments(
[
'post_type' => 'projects',
'post_status' => 'publish',
'type' => 'message',
'date_query' => [
[
'before' => '5 days ago midnight',
'inclusive' => true,
]
],
'meta_query' => [
[
'key' => 'foo', // <-- Adjust to your needs!
'value' => 'bar' // <-- Adjust to your needs!
]
]
]
);
puis collectez les identifiants de post avec:
$post_ids = array_unique( wp_list_pluck( $comments, 'comment_post_ID' ) );
Vous voudrez peut-être envisager de limiter le nombre de commentaires demandés avec l'attribut number
.
Ensuite, vous pourriez par exemple utilisez-le avec:
$query = new WP_Query( [ 'post__in' => $post_ids, ... ] );
pour un tableau $post_ids
non vide.