Title: Comment Callback
Last modified: August 21, 2016

---

# Comment Callback

 *  Resolved [megwhitee](https://wordpress.org/support/users/megwhitee/)
 * (@megwhitee)
 * [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/)
 * As I’m using a custom theme, I’m not sure why the comments aren’t working.
 * [http://www.sweetheartevents.ca/the-perfect-proposal-on-a-budget/#comment-7](http://www.sweetheartevents.ca/the-perfect-proposal-on-a-budget/#comment-7)
 * Warning: call_user_func() expects parameter 1 to be a valid callback, function‘
   advanced_comment’ not found or invalid function name in /home/content/27/10338827/
   html/wp-includes/comment-template.php on line 1627

Viewing 8 replies - 1 through 8 (of 8 total)

 *  [esmi](https://wordpress.org/support/users/esmi/)
 * (@esmi)
 * [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/#post-4537084)
 * Your comments.php file appears to contain a non-existent function.
 *  [Michael](https://wordpress.org/support/users/alchymyth/)
 * (@alchymyth)
 * [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/#post-4537094)
 * what is the exact code of the `wp_list_comments()` call in comments.php of your
   theme?
 * [http://codex.wordpress.org/Function_Reference/wp_list_comments](http://codex.wordpress.org/Function_Reference/wp_list_comments)
 *  Thread Starter [megwhitee](https://wordpress.org/support/users/megwhitee/)
 * (@megwhitee)
 * [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/#post-4537126)
 * Here is my comments.php file. Thanks so much guys.
 * _[please make sure to mark any posted code according to [http://codex.wordpress.org/Forum\_Welcome#Posting\_Code](http://codex.wordpress.org/Forum_Welcome#Posting_Code)–
   some of the code below is partially broken by the forum’s parser]
 *     ```
       <?php
       /**
   
        */
   
       // Do not delete these lines
       	if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
       		die ('Please do not load this page directly. Thanks!');
   
       	if ( post_password_required() ) { ?>
       		<p>This post is password protected. Enter the password to view comments.</p>
       	<?php
       		return;
       	}
       ?>
   
       <!-- You can start editing here. -->
   
       <?php if ( have_comments() ) : ?>
       	<h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to “<?php the_title(); ?>”</h3>
   
       <ol>
       		<?php wp_list_comments('type=comment&callback=advanced_comment'); //this is the important part that ensures we call our custom comment layout defined above
                       ?>
       	</ol>
       	<div></div>
       	<div>
       		<div><?php previous_comments_link() ?></div>
       		<div><?php next_comments_link() ?></div>
       	</div>
        <?php else : // this is displayed if there are no comments so far ?>
   
       	<?php if ( comments_open() ) : ?>
       		<!-- If comments are open, but there are no comments. -->
   
       	 <?php else : // comments are closed ?>
       		<!-- If comments are closed. -->
       		<p class="nocomments">Comments are closed.</p>
   
       	<?php endif; ?>
       <?php endif; ?>
   
       <?php if ( comments_open() ) : ?>
   
       <div id="respond">
   
       <h3><?php comment_form_title( 'Leave a Reply', 'Leave a Reply to %s' ); ?></h3>
   
       <div>
       	<small><?php cancel_comment_reply_link(); ?></small>
       </div>
   
       <?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>
       <p>You must be <a>">logged in</a> to post a comment.</p>
       <?php else : ?>
   
       <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
   
       <?php if ( is_user_logged_in() ) : ?>
   
       <p>Logged in as <a>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a>" title="Log out of this account">Log out »</a></p>
   
       <?php else : //this is where we setup the comment input forums ?>
   
       <p><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />
       <label for="author"><small>Name <?php if ($req) echo "(required)"; ?></small></label></p>
   
       <p><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> />
       <label for="email"><small>Mail (will not be published) <?php if ($req) echo "(required)"; ?></small></label></p>
   
       <p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
       <label for="url"><small>Website</small></label></p>
   
       <?php endif; ?>
   
       <!--<p><small><strong>XHTML:</strong> You can use these tags: <code><?php echo allowed_tags(); ?></code></small></p>-->
   
       <p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p>
   
       <p><input name="submit" type="submit" id="submit" tabindex="5" value="Post" />
       <?php comment_id_fields(); ?>
       </p>
       <?php do_action('comment_form', $post->ID); ?>
   
       </form>
   
       <?php endif; // If registration required and not logged in ?>
       </div>
   
       <?php endif; ?>
       ```
   
 *  [Michael](https://wordpress.org/support/users/alchymyth/)
 * (@alchymyth)
 * [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/#post-4537128)
 * this line
    `<?php wp_list_comments('type=comment&callback=advanced_comment');//
   this is the important part that ensures we call our custom comment layout defined
   above` tries to call a function `advanced_comment()` which should (usually) be
   defined in functions.php of your theme (or in a plugin).
 * if your theme does **not **have this function, change the one line to:
    `<?php
   wp_list_comments('type=comment'); //this is the important part that ensures we
   call our custom comment layout defined above`
 *  Thread Starter [megwhitee](https://wordpress.org/support/users/megwhitee/)
 * (@megwhitee)
 * [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/#post-4537134)
 * Hi alchymyth,
 * Thanks for your help. I’ve given it a go, reuploaded it, but still get errors.
 * [http://www.sweetheartevents.ca/the-perfect-proposal-on-a-budget/#comment-14](http://www.sweetheartevents.ca/the-perfect-proposal-on-a-budget/#comment-14)
 * This shows up:
    _Warning: call\_user\_func() expects parameter 1 to be a valid
   callback, function ‘advanced\_comment’ not found or invalid function name in /
   home/content/27/10338827/html/wp-includes/comment-template.php on line 1334_
 * In my comment-template.php, I’ve copied in a few lines, to see if you see anything
   there?
 * function start_el( &$output, $comment, $depth = 0, $args = array(), $id = 0 ){
   
   $depth++; $GLOBALS[‘comment_depth’] = $depth; $GLOBALS[‘comment’] = $comment;
 *  if ( !empty( $args[‘callback’] ) ) {
    call_user_func( $args[‘callback’], $comment,
   $args, $depth ); return; }
 *  if ( ( ‘pingback’ == $comment->comment_type || ‘trackback’ == $comment->comment_type)&&
   $args[‘short_ping’] ) {
    $this->ping( $comment, $depth, $args ); } elseif ( ‘
   html5’ === $args[‘format’] ) { $this->html5_comment( $comment, $depth, $args );}
   else { $this->comment( $comment, $depth, $args ); } }
 *  Thread Starter [megwhitee](https://wordpress.org/support/users/megwhitee/)
 * (@megwhitee)
 * [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/#post-4537135)
 * Also, if you know what I should put into my functions.php i’ll give that a go.
 *  Thread Starter [megwhitee](https://wordpress.org/support/users/megwhitee/)
 * (@megwhitee)
 * [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/#post-4537144)
 * FIXED. it might have taken some time for my website to reload, but once i reuploaded
   the comments.php with this revision, it got resolved.
 * Thanks so much. 🙂
 * this line
    <?php wp_list_comments(‘type=comment&callback=advanced_comment’); //
   this is the important part that ensures we call our custom comment layout defined
   above tries to call a function advanced_comment() which should (usually) be defined
   in functions.php of your theme (or in a plugin).
 * if your theme does not have this function, change the one line to:
    <?php wp_list_comments(‘
   type=comment’); //this is the important part that ensures we call our custom 
   comment layout defined above
 *  Thread Starter [megwhitee](https://wordpress.org/support/users/megwhitee/)
 * (@megwhitee)
 * [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/#post-4537145)
 * Thanks

Viewing 8 replies - 1 through 8 (of 8 total)

The topic ‘Comment Callback’ is closed to new replies.

## Tags

 * [comment template](https://wordpress.org/support/topic-tag/comment-template/)
 * [Comments](https://wordpress.org/support/topic-tag/comments/)

 * 8 replies
 * 3 participants
 * Last reply from: [megwhitee](https://wordpress.org/support/users/megwhitee/)
 * Last activity: [12 years, 2 months ago](https://wordpress.org/support/topic/comment-callback/#post-4537145)
 * Status: resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
