Use Bootstrap media object for listing comments
http://twitter.github.com/bootstrap/components.html#media - Introduce lib/comments.php: contains Roots_Walker_Comment - Update templates/comments.php to use the new walker, general clean up
This commit is contained in:
64
lib/comments.php
Normal file
64
lib/comments.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
function roots_get_avatar($avatar) {
|
||||
$avatar = str_replace("class='avatar", "class='avatar pull-left media-object", $avatar);
|
||||
return $avatar;
|
||||
}
|
||||
add_filter('get_avatar', 'roots_get_avatar');
|
||||
|
||||
/**
|
||||
* Use Bootstrap's media object for listing comments
|
||||
*
|
||||
* @link http://twitter.github.com/bootstrap/components.html#media
|
||||
*/
|
||||
class Roots_Walker_Comment extends Walker_Comment {
|
||||
function start_lvl(&$output, $depth = 0, $args = array()) {
|
||||
$GLOBALS['comment_depth'] = $depth + 1; ?>
|
||||
<ul <?php comment_class('media unstyled comment-' . get_comment_ID()); ?>>
|
||||
<?php
|
||||
}
|
||||
|
||||
function end_lvl(&$output, $depth = 0, $args = array()) {
|
||||
$GLOBALS['comment_depth'] = $depth + 1;
|
||||
echo '</ul>';
|
||||
}
|
||||
|
||||
function start_el(&$output, $comment, $depth, $args, $id = 0) {
|
||||
$depth++;
|
||||
$GLOBALS['comment_depth'] = $depth;
|
||||
$GLOBALS['comment'] = $comment;
|
||||
|
||||
if (!empty($args['callback'])) {
|
||||
call_user_func($args['callback'], $comment, $args, $depth);
|
||||
return;
|
||||
}
|
||||
|
||||
extract($args, EXTR_SKIP); ?>
|
||||
|
||||
<li <?php comment_class('media comment-' . get_comment_ID()); ?>>
|
||||
<?php echo get_avatar($comment, $size = '64'); ?>
|
||||
<div class="media-body">
|
||||
<h4 class="media-heading"><?php echo get_comment_author_link(); ?></h4>
|
||||
<time datetime="<?php echo comment_date('c'); ?>"><a href="<?php echo htmlspecialchars(get_comment_link($comment->comment_ID)); ?>"><?php printf(__('%1$s', 'roots'), get_comment_date(), get_comment_time()); ?></a></time>
|
||||
<?php edit_comment_link(__('(Edit)', 'roots'), '', ''); ?>
|
||||
|
||||
<?php if ($comment->comment_approved == '0') : ?>
|
||||
<div class="alert alert-block fade in">
|
||||
<a class="close" data-dismiss="alert">×</a>
|
||||
<p><?php _e('Your comment is awaiting moderation.', 'roots'); ?></p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php comment_text(); ?>
|
||||
<?php comment_reply_link(array_merge($args, array('depth' => $depth, 'max_depth' => $args['max_depth']))); ?>
|
||||
<?php
|
||||
}
|
||||
|
||||
function end_el(&$output, $comment, $depth = 0, $args = array()) {
|
||||
if (!empty($args['end-callback'])) {
|
||||
call_user_func($args['end-callback'], $comment, $args, $depth);
|
||||
return;
|
||||
}
|
||||
echo "</li>\n";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user