Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




wp_list_comments [ WordPress Function ]

wp_list_comments ( $args = array(), $comments = null )
Parameters:
  • (string|array) $args Formatting options
  • (array) $comments Optional array of comment objects. Defaults to $wp_query->comments
Uses:
  • Walker_Comment
Defined at:



List comments

Used in the comments.php template to list comments for a particular post

Source


<?php
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 = ( -!= $r['max_depth'] );
            
$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 ( 
== $r['page'] && != $r['per_page'] )
        
$r['page'] = 1;

    if ( 
null === $r['reverse_top_level'] )
        
$r['reverse_top_level'] = ( 'desc' == get_option('comment_order') );

    
extract$rEXTR_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;
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics