请不要使用addslashes来逃避SQL(这可能很危险),请使用$wpdb->prepare("SQL with %s placeholders", $string)
. 它将把数据放入占位符的。。。放置并处理转义,为您提供安全执行的SQL。
无论如何你的问题是如何根据评论数量为他们提供不同的背景颜色?
为什么不保持简单和变化
return $author_name .\' | <span class="wpdiscuz-comment-count">\'.$comment_text.\'</span>\';
至
$bgcolor = \'#CCCCCC\'; // default
if($count > 800) $bgcolor = \'#FF00FF\';
if($count > 500) $bgcolor = \'#00FFFF\';
if($count > 250) $bgcolor = \'#FFFF00\';
if($count > 100) $bgcolor = \'#800000\';
return $author_name . \' | <span class="wpdiscuz-comment-count" style="background-color: \' . $bgcolor . \';">\' . $comment_text . \'</span>\';
还是我完全没有抓住要点,没有理解你想做什么?
要操纵注释的左侧部分,可以执行以下操作
add_filter(\'wpdiscuz_after_label\', \'my_badgeCount\', 10, 2);
function my_badgeCount($html, $comment) {
global $wpdb;
$count = $wpdb->get_var( $wpdb->prepare(\'SELECT COUNT(comment_ID) FROM \' . $wpdb->comments . \' WHERE comment_author_email = %s\', $comment->comment_author_email) );
if($count > 9) return $html . \'<img src="/wp-content/uploads/badge-great.png" alt="great user" />\';
if($count > 6) return $html . \'<img src="/wp-content/uploads/badge-good.png" alt="good user" />\';
if($count > 3) return $html . \'<img src="/wp-content/uploads/badge-ok.png" alt="ok user" />\';
return $html;
}
显然,你必须适应环境和图像。还要注意$wpdb->prepare()的用法。它不仅更安全,我还发现它更容易阅读。