web-dev-qa-db-fra.com

Trier les commentaires par karma

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);

Trouvé sur ce site Web

1
Andycap

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);

Trouvé sur ce site Web

4
MartinJJ

@ 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?

0
ilistr