Вывод одобренных и нет комментариев по условию

Сразу к делу. Хочу выводить последние комментарии под постом вот таким кодом

$post_id = get_the_ID();        
$comments = get_comments(array(
	'post_id' => $post_id,
	//'status' => 'approve' // комментарии прошедшие модерацию
));

// Формируем вывод списка полученных комментариев
wp_list_comments(array(
	'callback'          => 'mytheme_comment',
	'per_page' => 10, // Пагинация комментариев - по 10 на страницу
	'reverse_top_level' => false // Показываем последние комментарии в начале
));

Проблема в том что если комментарий на модерации, он все ровно виден всем, и автору комментария и другим посетителям. Можно сделать, чтобы комментарий, который на модерации был виден только автору?

0
Андрей
6.5 лет назад
  • 0
    Glomberg 139 viktor-web.ru

    Здравствуйте. Попробуйте так:

    $post_id = get_the_ID();  
    
    $comments = get_comments( 
    	array(
    		'post_id' => $post_id,
    		'status' => 'approve' // комментарии прошедшие модерацию
    	) 
    );
    
    // Формируем вывод списка полученных комментариев
    wp_list_comments(
    	array(
    		'callback'          => 'mytheme_comment',
    		'per_page' => 10, // Пагинация комментариев - по 10 на страницу
    		'reverse_top_level' => false // Показываем последние комментарии в начале
    	), 
    	$comments // это второй, не обязательный агрумент функции - мссив полученный функцией get_comments()
    );
    Андрей 6.5 лет назад

    Не сработало, комменты которые на модерации не выводятся.

    Комментировать
  • 0
    Kama 9810

    Определи автор или нет (автор поста нужен?) и добавляй или нет параметр 'status' => 'approve':

    $args = array(
    	'post_id' => $post_id,
    	'status' => 'approve'
    );
    // если это автор поста, то выводим все комменты
    if( get_current_user_id() == get_post($post_id)->post_author )
    	unset( $args['status'] );
    
    $comments = get_comments( $args );
    Андрей 6.5 лет назад

    Автор комментария. Но получается что если комментарий оставил автор, то он увидит и другие комменты, которые ожидают модерации оставленные другими людьми?
    Спасибо за ответ. Вчера нашел решение, как можно выводить нормально комментарии через wp_list_comments
    мне нужно было, чтобы вначале выводились последние комменты и разбивались на страницы. Стандартная сортировка ВП может работать только в обратном порядке.

    andre 3.8 лет назад

    Спасибо Александр! Вы мне хорошо помогли. У меня почему-то вдруг пропала строка комментарие в двух последних темах. Согласно вашему уроку довольно быстро всё восстановил и запомнил. Но есть вопрос — это делается для каждой будущей записи один раз или нужно следить за состоянием страницы. Я что -то не обращал внимания и вот столкнулся с двумя случаями отсутствия строки комментарий.

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