以下代码是我在WP中的functions.php中的评论模板。它会输出带有回复链接的评论。当有人回复评论时说
“回复Name of comment author + Comment date”
在评论文本下面。单击该链接,为简单起见,我称之为“评论 - 回复 - 链接”,让您回到原始评论。到目前为止一切都很好。
每个注释的日期以我选择的格式('M j Y H:i')正确显示,这是第一个printf函数。评论日期将以以下格式显示“2012年2月10日10:35”然而,“评论 - 回复 - 链接”中的日期以完全不同的日期格式显示:2012-02-10 10:35:17。如您所见,它也会显示秒数。
下面代码中的最后一个printf函数输出“comment-reply-link”。我不知道格式不一致的来源。它不在我的管理面板设置中,也不能在comments-template.php中找到它。当我在phpmyadmin中打开数据库时,唯一显示错误格式的地方是注释表中的comment_date列。
如果有人可以帮助我以与评论本身相同的日期格式(“M j Y H:i”)获得“评论 - 回复 - 链接”,将非常感激。
function mytheme_comment( $comment, $args, $depth ) {
$GLOBALS['comment'] = $comment;
switch ( $comment->comment_type ) :
case '' :
?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="comment-body">
<div class="comment-meta commentmetadata">
<div class="commenter-info"><span class="commenter"><?php printf( __( '%s', 'mytheme' ), sprintf( '<cite class="fn">%s</cite>', get_comment_author_link() ) ); ?><br/></span><!-- commenter -->
<div class="comment-date"><?php
/* translators: 1: date, 2: time */
printf( __( '%1$s', 'mytheme' ), get_comment_date('M j Y H:i') ); ?><?php edit_comment_link( __( 'Edit →', 'mytheme' ), ' ' );
?></div><!-- comment-date -->
</div><!-- commenter-info -->
<div class="comment-gravatar"><?php echo get_avatar( $comment, 65 ); ?></div>
<span class="reply">
<?php comment_reply_link( array_merge( $args, array( 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
<a class="comment-reply-link" href="?replytocom=<?php comment_ID(); ?>#respond" onclick="return addComment.moveForm('comment-<?php comment_ID(); ?>', '<?php comment_ID(); ?>', 'respond', '<?php echo $post->ID; ?>')">Reply</a>
</span><!-- reply -->
</div><!-- .comment-meta .commentmetadata -->
<div class="comment-content">
<?php comment_text(); ?>
</div><!-- comment-content -->
<?php
if ( $comment->comment_parent ) {
$parent = get_comment( $comment->comment_parent );
$parent_link = esc_url( get_comment_link( $comment->comment_parent ) );
printf( '<span id="replyto">In reply to <a href="%1$s">%2$s %3$s</a></span>', $parent_link, $parent->comment_author, $parent->comment_date );
} ?>
<?php if ( $comment->comment_approved == '0' ) : ?>
<p class="moderation"><?php _e( 'Your comment is moderated', 'mytheme' ); ?></p>
<?php endif; ?>
</div><!-- comment-body-->
</div><!-- #comment-## -->
答案 0 :(得分:0)
您似乎需要重新格式化$parent->comment_date
。
尝试添加此内容:
$date = DateTime::createFromFormat( 'Y-m-d H:i:s', $parent->comment_date);
$parent->comment_date = $date->format( 'M j Y H:i');
在:
printf( '<span id="replyto">In reply to <a href="%1$s">%2$s %3$s</a></span>', $parent_link, $parent->comment_author, $parent->comment_date );