Несовместимый формат даты в комментариях и ссылка для ответа на комментарий в Wordpress - PullRequest
0 голосов
/ 10 февраля 2012

Код ниже - это шаблон комментариев из моего functions.php в WP.Он выводит комментарии с ответной ссылкой на каждый комментарий.Когда кто-то отвечает на комментарий, он говорит

"В ответ на Имя автора комментария + Дата комментария "

под текстом комментария.Нажав на эту ссылку, которую я для простоты называю «комментарий-ответ-ссылка», вы вернетесь к исходному комментарию.Пока все хорошо.

Дата каждого комментария отображается правильно в выбранном мной формате ('M j YH: i'), который находится в первой функции printf.Дата комментария будет отображаться в следующем формате «10 февраля 2012 10:35». Однако дата в «comment-reply-link» отображается в совершенно другом формате: 2012-02-10 10:35:17.Как видите, он также отображает секунды.

Последняя функция printf в приведенном ниже коде выводит «comment-reply-link».Я не знаю, откуда исходит противоречивый формат.Это не в моих настройках в панели администратора, и я не могу найти его в comments-template.php.Единственное место, где также отображается неправильный формат, - это столбец comment_date в таблице комментариев, когда я открываю базу данных в phpmyadmin.

Буду очень признателен, если кто-нибудь поможет мне получить ссылку на комментарий-ответ-ссылку"в том же формате даты, что и сами комментарии ('M j YH: 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 &rarr;', '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-##  -->

1 Ответ

0 голосов
/ 10 февраля 2012

Похоже, вам нужно переформатировать $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 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...