J'utilise le classement des commentaires du plugin (pouces vers le haut - pouces vers le bas) sur mon modèle de commentaires. Il stocke "karma" dans la colonne de base de données "comment_karma" dans la table des commentaires. Je cherche un moyen de trier wp_list_comments par le plus haut karma au plus bas.
Ont essayé quelque chose comme
<?php wp_list_comments('callback=mu_custom_callback&orderby=comment_karma&order=DESC') ?>
mais ça ne marche pas.
merci
UPDATE
Je l'ai obtenu en plaçant dans functions.php `
function comment_comparator($a, $b)
{
$compared = 0;
if($a->comment_karma != $b->comment_karma)
{
$compared = $a->comment_karma < $b->comment_karma ? 1:-1;
}
return $compared;
}
et dans comments.php
global $wp_query;
$comment_arr = $wp_query->comments;
usort($comment_arr, 'comment_comparator');
wp_list_comments('callback=gtcn_basic_callback', $comment_arr);
Juste si vous n'avez pas vérifié la page des développeurs de plugins , mais voici quelque chose que vous pouvez essayer
if (function_exists(ckrating_get_comments)) {
$post_id = $post->ID;
$mycomments = ckrating_get_comments(
"post_id=$post_id&status=approve&
orderby=comment_karma&order=DESC");
}
else
$mycomments = null;
wp_list_comments(array(), $mycomments);
UPDATE
Je l’ai obtenu en travaillant dans functions.php Je l’ai obtenu en plaçant dans functions.php `function comment_comparator ($ a, $ b)
function comment_comparator($a, $b)
{
$compared = 0;
if($a->comment_karma != $b->comment_karma)
{
$compared = $a->comment_karma < $b->comment_karma ? 1:-1;
}
return $compared;
}
et dans comments.php
global $wp_query;
$comment_arr = $wp_query->comments;
usort($comment_arr, 'comment_comparator');
wp_list_comments('callback=gtcn_basic_callback', $comment_arr);
@ Andycap C'est exactement ce que je recherche. mais de toute façon cela ne fonctionne pas pour moi. Je suis sûr que je fais quelque chose de mal. Pouvez-vous expliquer où exactement mettre le code dans les functions.php et les comments.php. Dois-je ajouter votre code ou le remplacer?