2

I have installed Wordpress in my localhost server. I am a creating custom menu. When I try to remove the existing "primary" menu from it, I get this error

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'tnc-remove_default_menu' not found or invalid function name in F:\AppServ\www\itexperthouseen\wp-includes\comment-template.php

inn my admin page. Can anyone suggest a solution to this problem?

My comments.php code is :-

        <div id="comments">
<?php if ( post_password_required() ) : ?>
                <p class="nopassword"><?php _e( 'This post is password protected. Enter the password to view any comments.', 'tie' ); ?></p>
            </div><!-- #comments -->
<?php
        return;
    endif;
?>

<?php if ( have_comments() ) : ?>
            <h3 id="comments-title">
            <?php comments_number(__('No comments','tie'), __('One comment','tie'), '% '.__('comments','tie') );?>
            </h3>

<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) :  ?>
            <div class="navigation">
                <div class="nav-previous"><?php previous_comments_link( __( '<span class="meta-nav">&larr;</span> Older Comments', 'tie' ) ); ?></div>
                <div class="nav-next"><?php next_comments_link( __( 'Newer Comments <span class="meta-nav">&rarr;</span>', 'tie' ) ); ?></div>
            </div> <!-- .navigation -->
<?php endif; ?>
            <?php $comments_by_type = &separate_comments($comments); ?>
            <?php if ( !empty($comments_by_type['comment']) ) : ?>
                <ol class="commentlist"><?php wp_list_comments('type=comment&callback=custom_comments'); ?></ol>
            <?php endif; ?>    
            <?php $comment_counter = 0 ; ?>
            <?php if ( !empty($comments_by_type['pings']) ) : ?>
            <div id="pings" class="commentlist">
                <ol class="pinglist"><?php wp_list_comments('type=pings&trackback&pingback&callback=custom_pings'); ?></ol>
            </div>
            <?php endif; ?> 
<?php else : 
    if ( ! comments_open() ) :
?>
    <?php __( 'Comments are closed.', 'tie' ); ?>
    <?php endif; ?>
<?php endif; ?>


<?php

$commenter = wp_get_current_commenter();
$req = get_option( 'require_name_email' );
$aria_req = ( $req ? " aria-required='true'" : '' );

$fields =  array(
    'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name', 'tie' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
                '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
    'email'  => '<p class="comment-form-email"><label for="email">' . __( 'Email', 'tie' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
                '<input id="email" name="email" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
    'url'    => '<p class="comment-form-url"><label for="url">' . __( 'Website', 'tie' ) . '</label>' .
                '<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>',
);
$required_text = __(' Required fields are marked', 'tie').' <span class="required">*</span>';
?>
<?php comment_form( array(
    'fields' => apply_filters( 'comment_form_default_fields', $fields ),
    'must_log_in' => '<p class="must-log-in">' .  sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' , 'tie' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( ) ) ) ) . '</p>',
    'logged_in_as' => '<p class="logged-in-as">' . sprintf( __( 'Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out?</a>'  , 'tie' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( ) ) ) ) . '</p>',
    'comment_notes_before' => '<p class="comment-notes">' . __( 'Your email address will not be published.'  , 'tie' ) . ( $req ? $required_text : '' ) . '</p>',
    'title_reply' => __( 'Leave a Reply'  , 'tie' ),
    'title_reply_to' => __( 'Leave a Reply to %s'  , 'tie' ),
    'cancel_reply_link' => __( 'Cancel reply'  , 'tie' ),
    'label_submit' => __( 'Post Comment'  , 'tie' )
)); ?>

</div><!-- #comments -->
1
  • 1
    Sometimes these error messages are misleading. It has nothing to do with your core comments.php file. Check this function, tnc-remove_default_menu, you most probably mis-spelled it in your add_action call back. Your function and callback should be exactly the same – Pieter Goosen Sep 21 '14 at 15:52
3

I'm pretty sure that function tnc-remove_default_menu is not defined anywhere in your code. (You shouldn't use - character in function name in PHP).

So most probably there is a function called tnc_remove_default_menu, and you've misspelled it's name in add_action/add_filter.

If there is no such function anywhere in your code, then you should remove this filter/action (if this function is not needed and you don't use it) or implement this function (if you want to use it).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.