WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Не могу связать автора

Пытаюсь связать вместе

$author->ID и $comment->comment_author

То есть вывожу список последних комментариев. Но не могу связать автора.
$author->ID и get_avatar($author->ID) выводить не автора комментария.

<?php

  $args = array(
	'number'  => 3,
	'orderby' => 'comment_date',
	'order'   => 'DESC',
	'status'  => 'approve',
	'type'    => 'comment', // только комментарии, без пингов и т.д...
  );

  global $user_ID;
  $us_id = $user_ID;
  $author->ID = $us_id;

  if( $comments = get_comments( $args ) ); {

	foreach ( $user_query->results as $author );
	$args = array( 'user_id' => $author->ID, 'count' => true, 'status' => 'approve', ); $commratings = get_comments( $args );

	foreach( $comments as $comment){
	$comm_link = get_comment_link( $comment->comment_ID );
	$comm_short_txt = mb_substr( strip_tags( $comment->comment_content ), 0, 50 ) .'...';

	  echo '<ul>';
		echo '<li class="spisokpf">';
	  echo '<br/><a href="/account/?uid=' . $author->ID . '">' . $comment->comment_author . '<p></p><span class="color-pf-green">' . get_avatar($author->ID)  .  '</span></a>';

	  echo '<br/><br/><a class="crug" href="/?author=' . $author->ID . '">' . '<span data-tooltip="Статей"><i class="fa fa-eercast"></i> ' . count_user_posts($author->ID) . '</span></a>';
	  echo '  <span class="crug" data-tooltip="Сообщений"> <i class="fa fa-comments-o"></i> ' . $commratings . '</span><br/><br/>';

	  echo '<i class="fa fa-comments-o"></i> <a href="'. $comm_link .'" data-tooltip="К записи: '. $comment->post_title .'">' . $comm_short_txt . '</a>';

	  echo '</li>';

	echo '</ul>';
  }}

?>
Заметки к вопросу:
stepan 2.4 года назад

разберитесь со своими циклами, что вы перебираете.
Перебираете пользователей, а потом комменты БЕЗ привязки к пользователям.
Читайте вслух свой код, напишите комменты к своему коду.

pfilan 2.4 года назад

сделал )

0
pfilan
2.4 года назад 24
  • 1
    stepan2278 www.weblancer.net/users/stepanko/?affili...

    Может там вы хотите получать комменты ОТ АВТОРОВ, а не просто все комменты и потом перебирать.

    У Вас проблемы с логикой в коде.

    Пишите комменты к каждому логическому блоку - и сами поймете свою ошибку.

    get_comments( $args )

    Может там в $args должен быть ID автора ? чтоб получать комменты конкретного автора, а не просто НЕЗАВИСИМО друг от друга - перебирать пользователей а потом перебирать внутри цикла комменты.

    Я бы мог сразу написать решение в коде, но смысла в этом не будет.

    Вы должны уметь читать свой код.

    pfilan 2.4 года назад

    я пока так сделал

    function pfilan_comments() {
      $args = array('number'  => 8, 'orderby' => 'comment_date','order' => 'DESC','status'  => 'approve',   'type' => 'comment');
    
    	global $user_ID; $us_id = $user_ID; $author->ID = $us_id; if( $comments = get_comments( $args ) ); {
    	foreach ( $user_query->results as $author ); $args = array( 'user_id' => $author->ID, 'count' => true, 'status' => 'approve', ); $commratings = get_comments( $args );
    	foreach( $comments as $comment){
    	$comm_link = get_comment_link( $comment->comment_ID ); $comm_short_txt = mb_substr( strip_tags( $comment->comment_content ), 0, 50 ) .'...';
    	  // echo 'c =  <pre>'; print_r($comment); echo '</pre>';//deb
    	  echo '<div class="recentcomments">';
    	  echo '<br/><a href="/account/?uid=' . $comment->user_id . '">' . $comment->comment_author . '<p></p><span class="color-pf-green"><span class="avava">' . get_avatar($comment->user_id)  .  '</span></span></a>';
    
    	  // echo '<br/><br/><a class="crug" href="/?author=' . $comment->user_id . '">' . '<span data-tooltip="Статей"><i class="fa fa-eercast"></i> ' . count_user_posts($comment->user_id) . '</span></a>';
    	  // echo '  <span class="crug" data-tooltip="Сообщений"> <i class="fa fa-comments-o"></i> ' . $commratings . '</span><br/><br/>';
    
    	 echo '<br/><br/><i class="fa fa-comments-o"></i> <a href="'. $comm_link .'" data-tooltip="К записи: '. $comment->post_title .'">' . $comm_short_txt . '</a>';
    	 echo '</div>';
      }}}
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация