eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

Как можно вывести все комментарии к постам конкретного пользователя?

Как в фронтенде вывести последних 20 коментариев ко всем постам определенного пользователя?

1
swyat
10 лет назад 15
  • 0
    Kama 9855

    В описании функции get_comments() в примерах есть готовое решение. Подправьте его под себя.

    $args = array(
    	'user_id' => 1, // ID пользователя
    
    );
    $comments = get_comments($args);
    foreach($comments as $comment){
    	echo($comment->comment_author . '<br />' . $comment->comment_content);
    }
    Swyat 10 лет назад

    так проблема в том что коменты выведуться конкретного пользователя.
    а мне надо вывести последнии коменты к постам пользователя
    и что то не сображу как сделать
    а розковырять базу даных что то лень и join будет наверное не маленьким

    swyat 10 лет назад

    Сам сделал smile

    if( current_user_can('administrator') ) {
    	$querystr = "
    	SELECT comment_ID, comment_post_ID, post_title, comment_content, comment_author, post_author
    	FROM $wpdb->comments, $wpdb->posts
    	WHERE comment_post_id = ID
    	ORDER BY comment_ID DESC
    	LIMIT 12
     ";
    } else {
    	$current_user = wp_get_current_user();
    	$user_id = $current_user->ID;    
    	$querystr = "
    	SELECT comment_ID, comment_post_ID, post_title, comment_content, comment_author, post_author
    	FROM $wpdb->comments, $wpdb->posts
    	WHERE post_author = ". $user_id ."
    	AND comment_post_id = ID
    	ORDER BY comment_ID DESC
    	LIMIT 12
     ";
    			};
    
     $comments = $wpdb->get_results($querystr, OBJECT);

    а с $comments уже дальше что душа пожелает можно делать smile

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация