/** * List comments * * Used in the comments.php template to list comments for a particular post * * @since 2.7.0 * @uses Walker_Comment * * @param string|array $args Formatting options * @param array $comments Optional array of comment objects. Defaults to $wp_query->comments */ function wp_list_comments($args = array(), $comments = null) { global $wp_query, $comment_alt, $comment_depth, $comment_thread_alt, $overridden_cpage, $in_comment_loop; $in_comment_loop = true; $comment_alt = $comment_thread_alt = 0; $comment_depth = 1; $defaults = array('walker' => null, 'max_depth' => '', 'style' => 'ul', 'callback' => null, 'end-callback' => null, 'type' => 'all', 'page' => '', 'per_page' => '', 'avatar_size' => 32, 'reverse_top_level' => null, 'reverse_children' => ''); $r = wp_parse_args($args, $defaults); // Figure out what comments we'll be looping through ($_comments) if (null !== $comments) { $comments = (array) $comments; if (empty($comments)) { return; } if ('all' != $r['type']) { $comments_by_type =& separate_comments($comments); if (empty($comments_by_type[$r['type']])) { return; } $_comments = $comments_by_type[$r['type']]; } else { $_comments = $comments; } } else { if (empty($wp_query->comments)) { return; } if ('all' != $r['type']) { if (empty($wp_query->comments_by_type)) { $wp_query->comments_by_type =& separate_comments($wp_query->comments); } if (empty($wp_query->comments_by_type[$r['type']])) { return; } $_comments = $wp_query->comments_by_type[$r['type']]; } else { $_comments = $wp_query->comments; } } if ('' === $r['per_page'] && get_option('page_comments')) { $r['per_page'] = get_query_var('comments_per_page'); } if (empty($r['per_page'])) { $r['per_page'] = 0; $r['page'] = 0; } if ('' === $r['max_depth']) { if (get_option('thread_comments')) { $r['max_depth'] = get_option('thread_comments_depth'); } else { $r['max_depth'] = -1; } } if ('' === $r['page']) { if (empty($overridden_cpage)) { $r['page'] = get_query_var('cpage'); } else { $threaded = -1 == $r['max_depth'] ? false : true; $r['page'] = 'newest' == get_option('default_comments_page') ? get_comment_pages_count($_comments, $r['per_page'], $threaded) : 1; set_query_var('cpage', $r['page']); } } // Validation check $r['page'] = intval($r['page']); if (0 == $r['page'] && 0 != $r['per_page']) { $r['page'] = 1; } if (null === $r['reverse_top_level']) { $r['reverse_top_level'] = 'desc' == get_option('comment_order') ? TRUE : FALSE; } extract($r, EXTR_SKIP); if (empty($walker)) { $walker = new Walker_Comment(); } $walker->paged_walk($_comments, $max_depth, $page, $per_page, $r); $wp_query->max_num_comment_pages = $walker->max_pages; $in_comment_loop = false; }
function my_theme_comments() { $id = get_the_ID(); $avatar = get_avatar(); $coms = wp_list_comments(array('echo' => false)); $comments = get_comments(array('post_id' => $id)); $walker = new Walker_Comment(); $output = $walker->paged_walk($comments, -1, '', ''); $in_comment_loop = false; echo $output; }