How to display comments on different page
I am creating a reviews site and I want to display the customer reviews (comments) on a separate page from the single-restaurant.php. I'll just have a link that says (Read reviews/ add yours).
I created a custom comments template and called it comments-side.php and this is what I have in it:
?php
/**
 * Comments Template
 *
 */
?
div id="comments-template" class="comments-side"
    div class="comments-wrap"
        div id="comments"
            ?php if ( have_comments() ) : ?
                ?php do_atomic( 'before_comment_list' );// supreme_before_comment_list ?
                ol class="comment-list"
                ?php $args = array(
    'walker'            = null,
    'max_depth'         = '10',
    'style'             = 'ul',
    'callback'          = 'mytheme_comment',
    'end-callback'      = null,
    'type'              = 'all',
    'reply_text'        = 'Reply',
    'length'            = '10',
    'page'              = '',
    'per_page'          = '3',
    'avatar_size'       = 32,
    'reverse_top_level' = null,
    'reverse_children'  = '',
    'format'            = 'xhtml', //or html5 @since 3.6
    'short_ping'        = false // @since 3.6
); ?
                    ?php wp_list_comments( $args, $comments); ?
                /ol!-- .comment-list --
                            ?php endif; ?
        /div!-- #comments --
        ?php $comment_args = array( 'fields' = apply_filters( 'comment_form_default_fields', array(
                        'author' = 'div class="form_row clearfix"' .
                                    'input id="author" name="author" type="text" value="' .
                                    esc_attr( $commenter['comment_author'] ) . '" size="30"' . @$aria_req . ' PLACEHOLDER="'.__('Your name','supreme').'"/' .
                                    ( $req ? ' span class="required"*/span' : '' ) .
                                    '/div!-- #form-section-author .form-section --',
                        'email'  = 'div class="form_row clearfix"' .
                                    'input id="email" name="email" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30"' . @$aria_req . ' PLACEHOLDER="'.__('Email Address','supreme').'"/' .
                                    ( $req ? ' span class="required"*/span' : '' ) .
                            '/div!-- #form-section-email .form-section --',
                        'url'    = 'div class="form_row clearfix"' .
                                    'input id="url" name="url" type="text" value="' . esc_attr(  $commenter['comment_author_url'] ) . '" size="30"' . @$aria_url . ' PLACEHOLDER="'.__('Website','supreme').'"/'.'/div')),
                        'comment_field' = 'div class="form_row clearfix"' .
                                    'textarea id="comments" name="comment" cols="45" rows="8" aria-required="true" PLACEHOLDER="'.__('Comments','supreme').'"/textarea' .
                                    ( $req ? ' span class="required"*/span' : '' ) .
                                    '/div!-- #form-section-comment .form-section --',
                        'comment_notes_after' = '',
                        'title_reply' = __( 'Add a comment', 'supreme' ),
                    );
                    if(get_option('default_comment_status') =='open'){
                        comment_form($comment_args); } // Loads the comment form.  ?
    /div!-- .comments-wrap --
/div!-- #comments-template --
However, when I try to go to the comments template (http://myurl.com/post-slug/comments-side/), the page throws a 404 error. I changed permalinks to the default setting and switched it back to /%postname%/ but I still get the 404.
How do I get this to work properly?
I don't know if it is relevant but this is what I have in my functions.php for the comments:
function mytheme_comment($comment, $args, $depth) {
        $GLOBALS['comment'] = $comment;
        extract($args, EXTR_SKIP);
        if ( 'div' == $args['style'] ) {
            $tag = 'div';
            $add_below = 'comment';
        } else {
            $tag = 'li';
            $add_below = 'div-comment';
        }
?
        ?php echo $tag ? ?php comment_class(empty( $args['has_children'] ) ? '' : 'parent') ? id="comment-?php comment_ID() ?"
        ?php if ( 'div' != $args['style'] ) : ?
        div id="div-comment-?php comment_ID() ?" class="comment-body"
        ?php endif; ?
        div class="comment-author vcard"
        ?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?
        ?php printf(__('cite class="fn"%s/cite span class="says"says:/span'), get_comment_author_link()) ?
        /div
?php if ($comment-comment_approved == '0') : ?
        em class="comment-awaiting-moderation"?php _e('Your comment is awaiting moderation.') ?/em
        br /
?php endif; ?
        div class="comment-meta commentmetadata"a href="?php echo htmlspecialchars( get_comment_link( $comment-comment_ID ) ) ?"
            ?php
                /* translators: 1: date, 2: time */
                printf( __('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?/a?php edit_comment_link(__('(Edit)'),'  ','' );
            ?
        /div
        ?php comment_text($comment_ID); ? 
        a href="comments-side/#comment-?php comment_ID() ?" class="comment-more"read more/a
        div class="reply"
        ?php comment_reply_link(array_merge( $args, array('add_below' = $add_below, 'depth' = $depth, 'max_depth' = $args['max_depth']))) ?
        /div
        ?php if ( 'div' != $args['style'] ) : ?
        /div
        ?php endif; ?
?php
        }
This is what I have in single-restaurant.php to show the recent comments for that each single post from the "restaurants" post type
div class="sidereviews clearfix" 
h3Recent Reviews/h3  
?php comments_template( '/comments-side.php', true ); // Loads the comments-side.php template. ?
/div!--/sidereviews--
Topic comments-template permalinks comments Wordpress
Category Web