私は私のコメントテンプレートでプラグイン コメント評価 (親指を上にする - 親指を下にする)を使用しています。コメントテーブルのdb列 "comment_karma"に "karma"を格納します。 wp_list_commentsを高い順に並べ替える方法を探しています。
のようなものを試してみました
<?php wp_list_comments('callback=mu_custom_callback&orderby=comment_karma&order=DESC') ?>
しかし、うまくいきません。
ありがとう
UPDATE
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;
}
とcomments.phpに
global $wp_query;
$comment_arr = $wp_query->comments;
usort($comment_arr, 'comment_comparator');
wp_list_comments('callback=gtcn_basic_callback', $comment_arr);
この ウェブサイトにあります
プラグイン開発者用ページ をチェックアウトしていない場合は、試してみてください。
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
それをfunctions.phpに置くことを動かしました私は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;
}
と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まさに私が探しているものです。しかしどういうわけかそれは私のために動作しません。私は何か悪いことをしているとはかなり確信しています。 functions.phpとcomments.phpのどこに正確にコードを配置するかを説明できますか。私はあなたのコードを追加したり、それを交換する必要がありますか?