| Привет, есть сайт на wordpress. Есть функция вывода последних комментариев. Тут можно исключать вывод комментариев из определенных категорий. Можно ли изменить функцию так, чтобы запрещать вывод комментариев из определенных постов по post_id?
PHP код: function page_comments($limit=10, $ex=45, $cat=0, $echo=1, $gravatar=''){
global $wpdb;
if($cat){
$IN = (strpos($cat,'-')===false)?"IN ($cat)":"NOT IN (".str_replace('-','',$cat).")";
$join = "LEFT JOIN $wpdb->term_relationships rel ON (p.ID = rel.object_id)
LEFT JOIN $wpdb->term_taxonomy tax ON (rel.term_taxonomy_id = tax.term_taxonomy_id)";
$and = "AND tax.taxonomy = 'category'
AND tax.term_id $IN";
}
$sql = "SELECT comment_ID, comment_post_ID, comment_content, post_title, guid, comment_author, comment_author_email
FROM $wpdb->comments com
LEFT JOIN $wpdb->posts p ON (com.comment_post_ID = p.ID) {$join} WHERE comment_approved = '1'
AND comment_type = '' {$and} ORDER BY comment_date DESC
LIMIT $limit";
$results = $wpdb->get_results($sql);
$out = '<div id="comments"><ol class="commentlist">';
foreach ($results as $comment){
if($gravatar) $grava = get_avatar( $comment, 50 );
$comtext = strip_tags($comment->comment_content);
$leight = (int) iconv_strlen( $comtext, 'utf-8' );
if($leight > $ex) $comtext = iconv_substr($comtext,0,$ex, 'UTF-8').' …';
if(strip_tags($comment->comment_author) == 'Артем Петрусенко'){
$autor = " <cite style='color:red;' class='fn'> ".strip_tags($comment->comment_author)."</cite> ответил на вопрос в статье";
}else{
$autor = " <cite class='fn'>".strip_tags($comment->comment_author)."</cite> оставил(а) отзыв на товар";
}
$out .= "
<li class='comment'>
<div class='comment-body'>
$grava <div class='comment-wrapper'>
<div class='comment-meta' style='margin-bottom:5px;'>
$autor <a style='font-size:14px;line-height: 0.5;' href='". get_comment_link($comment->comment_ID) ."'>{$comment->post_title}</a>
</div>
<div class='hentry-content'>
{$comtext} </div>
</div>
</div>
</li>
";
} $out .= "</ol></div>";
if ($echo) echo $out;
else return $out;
}
?>
|