[решено] Как сделать, чтобы в заголовке комментария добавилось имя того, кому адресован комментарий
Свой вопрос я уже задавал на этой странице, потому прошу сильно не пинать за дубль - я изначально не сориентировался как лучше задать вопрос.
Теперь сам вопрос.
Дело в том, что несмотря на то, что в моём шаблоне нормально реализована древовидность комментариев, некоторые пользователи сайта прям требуют чтобы в дополнении была ещё и строчка "Пользователь" - ответил - "Пользователю". Вот на этом "ответил пользователю" я и застрял. Не знаю как реализовать в конкретном случае. Файлик, который отвечает за формирование комментов называется в моей теме wp_list_comments.php - и имеет следующее содержимое
<?php
function custom_comments( $comment, $args, $depth ) {
$GLOBALS['comment'] = $comment ;
?>
<li id="comment-<?php comment_ID(); ?>">
<div <?php comment_class('comment-wrap'); ?> >
<div class="comment-avatar"><?php echo get_avatar( $comment, 45 ); ?></div>
<div class="author-comment">
<?php printf( __( '%s ', 'tie' ), sprintf( '<cite class="fn">%s</cite>', get_comment_author_link() ) ); ?>
<div class="comment-meta commentmetadata"><a href="<?php echo esc_url( get_comment_link( $comment->comment_ID ) ); ?>"> <?php printf( __( '%1$s at %2$s', 'tie' ), get_comment_date(), get_comment_time() ); ?></a><?php edit_comment_link( __( '(Edit)', 'tie' ), ' ' ); ?></div><!-- .comment-meta .commentmetadata -->
</div>
<div class="clear"></div>
<div class="comment-content">
<?php if ( $comment->comment_approved == '0' ) : ?>
<em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'tie' ); ?></em>
<br />
<?php endif; ?>
<?php comment_text(); ?>
</div>
<div class="reply"><?php comment_reply_link( array_merge( $args, array( 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?></div><!-- .reply -->
</div><!-- #comment-## -->
<?php
}
function custom_pings($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li class="comment pingback">
<p><?php _e( 'Pingback:', 'tie' ); ?> <?php comment_author_link(); ?><?php edit_comment_link( __( '(Edit)', 'tie' ), ' ' ); ?></p>
<?php
}
?>
умом я понимаю, что нужный для реализации код надо добавить после
<?php printf( __( '%s ', 'tie' ), sprintf( '<cite class="fn">%s</cite>', get_comment_author_link() ) ); ?>
НО это, к сожалению, единственное, что я понимаю. Любые попытки сделать какую-то вразумительную конструкцию либо просто не работали, либо вызывали ошибку.
Подскажите, плиз, как реализовать искомое. Вся надежда на вас.
решено
Добавим в Вашу функцию пару строчек.
function custom_comments( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment ; $author_comment_parent = ''; if ( $comment->comment_parent != 0 ) { $comment_parent = get_comment( $comment->comment_parent ); $author_comment_parent = ' ответил на коммент автора: ' . $comment_parent->comment_author; } ...Дальше в этом участке коде добавим наш текст:
В итоге получится на фронтенде типа такого:
Евгений ответил на коммент автора: Сергей
Великолепно работает. Огромнейшее спасибо!