web-dev-qa-db-fra.com

get_comments () où parent n'est pas

J'ai besoin d'un moyen d'obtenir uniquement les commentaires qui ne sont pas de niveau supérieur, c'est-à-dire où le parent n'est pas 0.

J'ai essayé:

$args = array(
   'parent' => -0
);
$comments = get_comments($args);

Je connais les id des commentaires parent (44 et 48) de tous les commentaires dont j'ai besoin, alors j'ai essayé:

$args = array(
   'parent' => array(44,48)
);

$comments = get_comments($args);

Mais cela n'a pas fonctionné. Il n'a retourné qu'une ligne. Si possible, je dois m'en tenir à get_comments (), car j'ai déjà beaucoup travaillé à ce sujet et je veux donc éviter de perdre ce que j'ai fait.

1
Chris

Vous ne pouvez pas faire cela avec un paramètre pour get_comments(), mais le filtrage 'comments_clauses' devrait le faire.

Exemple de code, non testé:

add_filter( 'comments_clauses', 'wpse_78490_child_comments_only' );

function wpse_78490_child_comments_only( $clauses )
{
    $clauses['where'] .= ' AND comment_parent != 0';
    return $clauses;
}
3
fuxia