Website XXL

Imbunatatirea comentariilor in WordPress

Imbunatatirea comentariilor in WordPress

Partea de comentarii este adesea neglijata la un blog, lucru care aduce doar dezavantaje, pentru ca prin comentarii, cititorii pot interactiona cu blogul sau scriitorul articolelor. In acest articol voi prezenta cateva trucuri de imbunatatire a sectiunii comentariilor, pentru a oferi cititorilor un plus de functionalitate.

Adaugarea linkurilor “Delete” si “Spam” la comentarii

Fie ca permiteti sau nu postarea de comentarii fara a fi aprobate de un moderator / administrator, s-ar putea ca la un moment dat sa simtiti nevoia de a avea un control suplimentar asupra comentariilor. Implicit WordPress ofera linkul “Edit” de editare a comentariilor, dar nu ofera posibilitatea de a adauga linkurile “Delete” si “Spam”.

Primul pas este de a crea functiile necesare. Pentru aceasta inserati codul urmator in fisierul functions.php:

function delete_comment_link($id)
if (current_user_can(‘edit_post’))
echo ‘
}
Apoi deschideti fisierul comments.php si cautati functia edit_comment_link() ce reprezinta linkul “Edit” inserat la fiecare comentariu. Adaugati dupa aceasta functie codul urmator:
delete_comment_link(get_comment_ID());

Separati trackbacks de restul comentariilor

Trackbacks reprezinta o functie utila ce arata cititorilor ce alte bloguri mentioneaza articolul pe care l-au citit, insa atunci cand numarul lor este mare, devine dificila urmarirea conversatiilor postate de vizitatori. De aceea o solutie o reprezinta separarea comentariilor de trackbacks. Pentru a rezolva aceasta problema deschideti fisierul comments.php si cautati bucla comentariilor de forma:

foreach ($comments as $comment) : ?>
// Comments are displayed here
endforeach;
Odata identificata bucla, inlocuiti-o cu urmatorul cod:
<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>

Eliminati linkurile din comentarii

Spammerii si chiar cititorii nostri fideli pot lasa linkuri in comentarii care de obicei nu sunt utile. Implicit WordPress transforma textele ce seamana cu adrese URL in linkuri pe care se poate face click. Pentru a dezactiva aceste transformari automate, adaugati in fisierul function.php urmatorul cod:

function plc_comment_post( $incoming_comment )
$incoming_comment[‘comment_content’] =
htmlspecialchars($incoming_comment[‘comment_content’]);
$incoming_comment[‘comment_content’] =
str_replace( “‘”, ‘&apos;’, $incoming_comment[‘comment_content’] );
return( $incoming_comment );

function plc_comment_display( $comment_to_display )
$comment_to_display = str_replace( ‘&apos;’, “‘”, $comment_to_display );
return $comment_to_display;

add_filter(‘preprocess_comment’, ‘plc_comment_post’, ”, 1);
add_filter(‘comment_text’, ‘plc_comment_display’, ”, 1);
add_filter(‘comment_text_rss’, ‘plc_comment_display’, ”, 1);
add_filter(‘comment_excerpt’, ‘plc_comment_display’, ”, 1);

Afisati comentariile autorului in alt stil fata de restul comentariilor

Daca aveti un blog cu multe comentarii si doriti sa scoateti in evidenta comentariile autorului, atunci faceti urmatorii pasi:

  1. Deschideti fisierul comments.php si cautati bucla comentariilor:
    <?php foreach comment as $comment) ?>
  2. Dupa codul respectiv inserati urmatoarele linii:
    <?php
    $isByAuthor = false;
    if($comment->comment_author_email == get_the_author_email())
    $isByAuthor = true;?>
  3. Cautati apoi liniile de cod care reprezinta comentariile:
    <li class=”<?php echo $oddcomment; ?>” id=”comment-<?php comment_ID() ?>”>
  4. Inlocuiti-le cu urmatorul cod:
    <li class=”<?php echo $oddcomment; ?> <?php if($isByAuthor )
    echo ‘authorcomment’; ?>” id=”comment-<?php comment_ID() ?>”>
  5. In final va trebui sa adaugam in fisierul style.css codul pentru modificarea stilului:
    .authorcomment
    color:#fff;
    font-weight:bold;
    background:#068;

Afisarea numarului total de comentarii de pe blog si a numarului mediu de comentarii pe articol

In panoul WordPress putem vedea o statistica a comentariilor de pe blog, insa nu avem nici o unealta de a afisa public aceste informatii. Daca doriti acest lucru, folositi urmatorul cod:

<?php
$count_posts = wp_count_posts();
$posts = $count_posts->publish;

$count_comments = get_comment_count();
$comments = $count_comments[‘approved’];

echo “Pe acest blog au fost lasate “.$comments.” comentarii, ceea ce reprezinta
o medie de “.round($comments/$posts).” comentarii pe articol.”;
?>

Cam atat pentru astazi. Seria noastra de tutoriale WordPress nu este incheiata, insa vom publica mai rar astfel de articole (cel putin unul pe luna), dar cu o complexitate mai ridicata fata de a tutorialelor deja publicate.

Leave a Reply