- Home
- Categorie
- Coding e Sistemistica
- WordPress
- Modificare style commenti in base al livello autore
-
Modificare style commenti in base al livello autore
Cari amici Giorgiotaviani (o Giorgiotavesi?)
avrei bisogno di un vostro aiuto.
Molti di voi sapranno che su Wordpress, dentro la cartella di quasi tutti i templates, esiste un file chiamato functions.php dentro il quale vengono dichiarate, appunto, determinate funzioni per il tema in uso.Vengo al punto: il mio tema non differenzia lo style css fra i commenti inviati dall'amministratore e quelli inviati da un utente guest.
Per tale ragione ho inserito, dentro il succitato file functions.php, la seguente funzione:[php]<?php
function custom_comment($comment, $args, $depth) { $GLOBALS['comment'] = $comment;
?><li class="<?php if ($comment->comment_author_email == "[email protected]") echo 'comment-author-admin'; else echo 'comment'; ?>">
<div id="comment-<?php comment_ID( ); ?>">
<table border="0" cellpadding="6"><tr><td width="52" valign="top" align="left">
<div class="avatar_cont"><?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?></div></td><td width="100%" valign="top" align="left"><div class="avatar_cont">
Comment by <em><?php comment_author_link() ?></em>:
<?php if ($comment->comment_approved == '0') : ?>
<em>Your comment is awaiting moderation.</em>
<?php endif; ?>
<br />
<small class="commentmetadata"><a href="#comment-<?php comment_ID() ?>" title="">
<?php comment_date('l, F jS Y') ?> at <?php comment_time() ?></a><br /><?php edit_comment_link('Edit','',''); ?></small>
</div></td></tr></table>
<?php comment_text() ?><?php echo comment_reply_link(array('before' => '<div class="reply">', 'after' => '</div>', 'reply_text' => 'Reply to this comment', 'depth' => $depth, 'max_depth' => $args['max_depth'] )); ?>
</div>
<?php } ?>[/php]Come potete notare, per come l'ho impostata io, assegna una classe css differente solo se l'email corrisponde a quella dell'amministratore.
Il problema è che, ovviamente, se un guest inserisce nel campo relativo alla mail quella stessa dell'amministratore, anche il commento di quel guest apparirà con lo stesso aspetto dell'admin.Potete aiutarmi a modificare un pò questa funzione in modo tale da avere una classe differente se il commento è realmente in modalità "is_admin"?
Spero di essermi spiegato bene
Un salutino a tutti
-
Ho risolto da solo:
[PHP]<?php
function custom_comment($comment, $args, $depth) { $GLOBALS['comment'] = $comment;
?><?php
$comment_class = (1 == $comment->user_id) ? 'comment-author-admin' : 'comment';
?><li class="<?php echo $comment_class; ?>">
<div id="comment-<?php comment_ID( ); ?>">
<table border="0" cellpadding="6"><tr><td width="52" valign="top" align="left">
<div class="avatar_cont"><?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?></div></td><td width="100%" valign="top" align="left"><div class="avatar_cont">
Comment by <em><?php comment_author_link() ?></em>:
<?php if ($comment->comment_approved == '0') : ?>
<em>Your comment is awaiting moderation.</em>
<?php endif; ?>
<br />
<small class="commentmetadata"><a href="#comment-<?php comment_ID() ?>" title="">
<?php comment_date('l, F jS Y') ?> at <?php comment_time() ?></a><br /><?php edit_comment_link('Edit','',''); ?></small>
</div></td></tr></table>
<?php comment_text() ?><?php echo comment_reply_link(array('before' => '<div class="reply">', 'after' => '</div>', 'reply_text' => 'Reply to this comment', 'depth' => $depth, 'max_depth' => $args['max_depth'] )); ?>
</div>
<?php } ?>[/PHP]spero possa essere d'aiuto a qualcuno.