Neues Outfit bei Kommentaren (callback)
Es gibt viele Möglichkeiten das Standard Comment-Template so anzupassen, dass es zum eigenen Design passt. Eine dieser Möglichkeiten möchte ich hier vorstellen. Mit dem Callback kann man ganz einfach das Standard Template von den Kommentaren überschreiben.
Dazu erstellt man einfach eine Callback-Function in der function.php:
{code type=php}
<?php
function custom_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id=”comment-<?php comment_ID( ); ?>”>
<div class=”avatar_cont”><?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?></div>
Comment by <em><?php comment_author_link() ?></em>:
<?php if ($comment->comment_approved == ‘0′) : ?>
<em>Your comment is awaiting moderation.</em>
<?php endif; ?>
<small class=”commentmetadata”><a href=”#comment-<?php comment_ID() ?>” title=”">
<?php comment_date(’l, F jS Y’) ?> at <?php comment_time() ?></a> | <?php edit_comment_link(’Edit’,”,”); ?></small>
<?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'] )); ?>
<?php } ?>
{/code}
Gut ist so ein Template natürlich wenn man bei den Trackbacks nur den Titel angezeigt bekommen möchte. Dazu wurde von mir die Funktion list_pings in der function.php erstellt:
{code type=php}
<?php
function list_pings($comment, $args, $depth) {
$GLOBALS['comment'] = $comment;
?>
<li id=”comment-<?php comment_ID(); ?>”><?php comment_author_link(); ?>
<?php } ?>
{/code}
Diese habe ich dann in der comments.php mit folgender Funktion eingebunden:
{code type=php}
wp_list_comments(’type=pings&callback=list_pings’);
{/code}
So und jetzt wünsche ich viel Spass beim Anpassen der Themes an WordPress 2.7.
13. Dezember 2008 um 11:02
Großartig! Genau so einen Tipp hab ich gesucht. Werd mich nachher ranmachen und es umsetzen.