<?php
if( have_comments() ){ 
   if( get_comments_number() ){ ?>
      Количество комментариев: <?=get_comments_number()?> <br>
      <ol>
         <?php
            wp_list_comments(
               array(
                  'style' => 'ol', // формировать список элементов для тега <ol>
                  'per_page' => 10, // количество комментариев на странице
                  'avatar_size' => 74, // размер аватара пользователя
               )
            );
         ?>
      </ol>
   <?php }else{?> 
      Нет комментариев к этой публикации
   <?php }?> 
<?php }?>Возможность комментирования "have_comments"
С помощью функции "have_comments" можно проверить возможность оставлять комментарии у текущей записи (страницы). Функция работает на основе глобальной переменной "$wp_query" и не имеет аргументов.Функция возвращает логическое "true" или "false" в зависимости наличия или отсутствия возможности оставлять комментарии на текущей странице.
Количество комментариев "get_comments_number"
Количество комментариев на странице можно получить с помощью функции "get_comments_number". У функции есть только один параметр - ID публикации. Если его не указать, то будет использованы данные по количеству комментариев из текущей страницы (из глобальной переменной "$post->comment_count").$comments_count = get_comments_number( $post_id );Вывод списка комментариев "wp_list_comments"
Функция "wp_list_comments" выводит список комментариев для записей, постов или страниц. У функции есть два параметра:wp_list_comments( $args, $comments );Перед использованием функции "wp_list_comments" вне файла "comments.php" необходимо вызвать функцию  "comments_template", чтобы получить выборку комментариев из базы. Если её не вызвать, то функция "wp_list_comments" ничего не распечатает.
Первый аргумент функции "wp_list_comments" является массивом. Рассмотрим все его возможные ключи и значения, которые влияют на выборку комментариев:
| Название | Тип данных | Описание | 
|---|---|---|
| walker | объект | Объект класса, через который формируется список комментариев. По умолчанию: new Walker_Comment | 
| max_depth | число | Глубина вложенности комментариев (работает если если включены древовидные комментарии в панели администрирования). По умолчанию: 5 | 
| style | строка | Какой тег используется для оборачивания комментариев (обрамляет функцию). Возможные значения: 'div', 'ul' или 'ol' (по умолчанию). К примеру, если указать списки 'ol' или 'ul', то необходимо ставить их вокруг функции: <ol> <?php wp_list_comments( array('style' => 'ol') ); ?> </ol> | 
| callback | строка | Название функции для формирования вывода каждого комментария. Функция должна содержать только открывающий тег (к примеру, <ol>), а закрывающий тег (</ol>) WordPRess пишет автоматически. По умолчанию: нет функции. | 
| end-callback | строка | Название функции для закрытия обрамляющего тега каждого комментария. Функция должна выводить закрывающий тег (к примеру, </ol>) WordPRess пишет автоматически. По умолчанию: нет функции. | 
| type | строка | Тип комментариев для отображения: 'all', 'comment', 'trackback', 'pingback' или 'pings'. Последняя 'pings' включает в себя 'trackback' и 'pingback'. По умолчанию: all | 
| per_page | число | Количество комментариев на странице. По умолчанию: 50 | 
| page | число | Номер страницы для постраничной навигации, комментарии с которой необходимо вывести. | 
| avatar_size | число | Размер аватара в пикселях. По умолчанию: 32 | 
| reverse_top_level | логический | Включить ли обратную сортировку по дате (только для родительских комментариев, не влияет на дочерние). По умолчанию: false | 
| reverse_children | логический | Включить ли обратную сортировку по дате для дочерних комментариев. По умолчанию: false | 
| reply_text | строка | Текст на кнопке "ответить". Текст используется в функции: get_comment_reply_link(). По умолчанию: 'reply' | 
| login_text | строка | Текст предупреждения, если комментарии в этом блоке могут оставлять только зарегистрированные пользователи. По умолчанию: 'Log in to Reply' | 
| echo | логический | Распечатывать ли HTML код или возвращать для обработки в переменную. По умолчанию: 'true' (выводить) | 
Если нужно вывести все комментарии (без разбивки на страницы), то необходимо указать: page=1 и per_page=0.
Если в ключе "page" указать пустую строку '' и опция get_option( 'page_comments' ) включена, то количество комментариев будет взято из опции get_query_var( 'comments_per_page' ).
Если значение параметров page или per_page не равны тем что указаны в переменной $wp_query: get_query_var('cpage') и get_query_var('comments_per_page'), то будет сделан дополнительный запрос к базе на получение всех комментариев текущей записи.
Ключи "callback" и "end-callback" разделены, чтобы правильно выводить древовидные комментарии (чтобы не ставить закрывающий тег, если дерево ещё не закончилось).
          
   		