Несколько ручных настроек WordPress для комментариев

Добавить ссылки “Edit-Delete-Spam” в комментарий:

Sm1 in 10 Handy WordPress Comments Hacks

Вставить код в functions.php-файл:

function delete_comment_link($id) {
  if (current_user_can('edit_post')) {
    echo '| <a href="'.admin_url("comment.php?action=cdc&c=$id").'">del</a> ';
    echo '| <a href="'.admin_url("comment.php?action=cdc&dt=spam&c=$id").'">spam</a>';
  }
}

 

После сохранения functions.php, откройте comments.php и добавьте следующий код туда, где вы хотите видеть ссылки: 

1 delete_comment_link(get_comment_ID());

Отделить трэкбеки от комментариев:

Sm2 in 10 Handy WordPress Comments Hacks

Найдите в comments.php

foreach ($comments as $comment) : ?>
    // Comments are displayed here
endforeach;

и замените на

<ul class="commentlist">
    <?php //Displays comments only
    foreach ($comments as $comment) : ?>
           <?php $comment_type = get_comment_type(); ?>
           <?php if($comment_type == 'comment') { ?>
        <li>//Comment code goes here</li>
    <?php }
    endforeach;
</ul>

<ul>
    <?php //Displays trackbacks only
    foreach ($comments as $comment) : ?>
           <?php $comment_type = get_comment_type(); ?>
           <?php if($comment_type != 'comment') { ?>
        <li><?php comment_author_link() ?></li>
    <?php }
    endforeach;

</ul>

Выделить авторские комментарии:

Sm5 in 10 Handy WordPress Comments Hacks

 

В comments.php найти

<?php foreach comment as $comment) { ?>

После этой строки вставить

<?php
$isByAuthor = false;
if($comment->comment_author_email == get_the_author_email()) {
$isByAuthor = true;
}
?>

Найти строку кода, которая представляет комментарии:

<li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">

Теперь у нас есть класс authorcomment для вывода:

<li class="<?php echo $oddcomment; ?> <?php if($isByAuthor ) {
 echo 'authorcomment';} ?>" id="comment-<?php comment_ID() ?>">

Последнее – в файле style.css вставьте код, заменив данный цвет на нужный вам:

.authorcomment{
    color:#fff;
    font-weight:bold;
    background:#068;
}

Виджет с последними комментариями:

Sm7 in 10 Handy WordPress Comments Hacks

Вставьте код туда, где они будут отображаться, указав число выводимых комментариев после LIMIT:

<?php
  $pre_HTML ="";
  $post_HTML ="";
  global $wpdb;
  $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,30) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 10";

  $comments = $wpdb->get_results($sql);
  $output = $pre_HTML;
  $output .= "\n<ul>";
  foreach ($comments as $comment) {
    $output .= "\n<li>".strip_tags($comment->comment_author) .":" . "<a href=\"" . get_permalink($comment->ID)."#comment-" . $comment->comment_ID . "\" title=\"on ".$comment->post_title . "\">" . strip_tags($comment->com_excerpt)."</a></li>";
  }
  $output .= "\n</ul>";
  $output .= $post_HTML;
  echo $output;
?>

Выведение на экран наиболее комментируемых постов:

Sm10 in 10 Handy WordPress Comments Hacks

Вставьте этот код туда, где будет ваш список, изменив сроки в третьей строке:

<ul>
<?php
$result = $wpdb->get_results("SELECT comment_count,ID,post_title, post_date FROM $wpdb->posts WHERE post_date BETWEEN '2009-06-01' AND '2009-07-01' ORDER BY comment_count DESC LIMIT 0 , 10");

foreach ($result as $topten) {
    $postid = $topten->ID;
    $title = $topten->post_title;
    $commentcount = $topten->comment_count;
    if ($commentcount != 0) {
    ?>
         <li><a href="<?php echo get_permalink($postid); ?>"><?php echo $title ?></a></li>
    <?php }
}
?>
</ul>

 

 

 

 

 

 

Popularity: 35% [?]


Счетчики