Support » Fixing WordPress » Pagination comments not working

  • I’m working on a custom theme and I’m trying to paginate my comments. However the links to the comment pages appear but every page displays all the comments. For example: I have 15 comments and every comment page should display 5. so there are 3 pages but each of them display all 15.

    I already tried fixing the setting in discussion but it seems to have no effect. Is there a way my coding could have messed this up?

    Here’s the page I’m working on:
    http://messiahcollege.ph/wordpress/?p=14&cpage=2#comments

    Here’s the comments.php:

    <?php
    
    	if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
    		die ('Please do not load this page directly. Thanks!');
    
    	if ( post_password_required() ) { ?>
    		This post is password protected. Enter the password to view comments.
    	<?php
    		return;
    	}
    ?>
    
    <?php if ( have_comments() ) : ?>
    
    	<h2 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?></h2>
    
    	<div class="navigation">
    		<div class="next-posts"><?php previous_comments_link() ?></div>
    		<div class="prev-posts"><?php next_comments_link() ?></div>
    	</div>
    
    <ol class="commentlist" dir="rtl">
    
    <p><?php foreach ($comments as $comment) : ?></p>
    <li>
    
    <cite>
    
    <p2><img src="<?php bloginfo('template_url'); ?>/images/speechbubble.png" class="speechbubble"><span class="author"><?php comment_author_link() ?></span> <font color="#8f8f8f">said on</font> <a href="#comment-<?php comment_ID() ?>" title=""><?php comment_date('F jS, Y') ?></a> <?php edit_comment_link('edit','  ',''); ?>
    </p2>
    </cite>
    
    <p><div class="commenttext" dir="ltr">
    <?php if(function_exists('get_avatar')) { ?>
    <span class="authorlink">
    <?php echo get_avatar($comment, '50'); ?>
    </span>
    <?php } ?>
    <?php comment_text() ?></div>
    <?php if ($comment->comment_approved == '0') : ?>
    <em>Your comment is awaiting moderation.</em>
    <?php endif; ?>
    </p>
    </li>
    
    <?php
    /* Changes every other comment to a different class */
    $oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : '';
    ?>
    <?php endforeach; /* end for each comment */ ?>
    </ol>
    
    	<div class="navigation">
    
        <?php
        //Create pagination links for the comments on the current post.
        paginate_comments_links();
        ?>
    
    	</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 ?>
    
    	<?php endif; ?>
    
    <?php endif; ?>
    
    <?php if ( comments_open() ) : ?>
    
    <div id="respond">
    
    	<h2><?php comment_form_title( 'Leave a Comment', 'Leave a Comment to %s' ); ?></h2>
    
    	<div class="cancel-comment-reply">
    		<?php cancel_comment_reply_link(); ?>
    	</div>
    
    	<?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>
    		<p>You must be <a href="<?php echo wp_login_url( get_permalink() ); ?>">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() ) : ?>
    
    			<span id="loggedin">Logged in as <br /> <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a> <br /><a id="logoutb" href="<?php echo wp_logout_url(get_permalink()); ?>" title="Log out of this account">Log out?</a></span>
    
    		<?php else : ?>
    
    			<div id="author">
    
    				<input type="text" name="author" id="authorbox" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />
    				<label for="author">Your Name <?php if ($req) echo "*"; ?></label>
    			</div>
    
    			<div id="email">
    				<input type="text" name="email" id="emailbox" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> />
    				<label for="email">Your Email <?php if ($req) echo "*"; ?><br /><font size="2">(will not be published)</font></label>
    			</div>
    
    			<div id="url">
    				<input type="text" name="url" id="urlbox" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
    				<label for="url">Your Website</label>
    			</div>
    
    		<div id="logout"><?php wp_loginout(); ?>?</div>	
    
    		<div id="required">
    		*required
    		</div>
    
    		<?php endif; ?>
    
    		<!--<p>You can use these tags: <code><?php echo allowed_tags(); ?></code></p>-->
    
    		<div>
    			<textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea>
    		</div>
    
    		<div>
    			<input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
    			<?php comment_id_fields(); ?>
    		</div>
    
    		<?php do_action('comment_form', $post->ID); ?>
    
    	</form>
    
    	<?php endif; // If registration required and not logged in ?>
    
    </div>
    </div>
    
    <?php endif; ?>

Viewing 7 replies - 1 through 7 (of 7 total)
  • Moderator t-p

    (@t-p)

    Thread Starter theFTSmatt

    (@theftsmatt)

    So i installed and followed the instructions in the plugin, and now I have nice pagination buttons at the bottom of my page, but I still have the same problem. Every comments page displays all the 15 comments. I would like comments 1-5 be on page 1, comments 6-10 be on page 2, etc.

    Moderator t-p

    (@t-p)

    you may want to contact the plugin developer.

    Thread Starter theFTSmatt

    (@theftsmatt)

    I think the problem may be on my end because no matter what plug-in i use i have the same problem. Do you know if my code looks ok?

    Thread Starter theFTSmatt

    (@theftsmatt)

    Update, I found some random guy’s comments.php and threw it in and the pagination worked. Of course the css went berserk but now at least I am sure that the problem is in my code. Can anyone help me find what I am missing?

    The problem is somewhere in my ol

    can u share the link of the comments.php you found ??
    i am having the same issue

    Thread Starter theFTSmatt

    (@theftsmatt)

    From what I’ve figured out, its because I coded my comments.php in such a way that I didn’t use the functions.php. Because of this, its something like all my comments are simply viewed as one entry or something instead of being “pulled in” as separate entries. I simply gave up on paginating comments because I would have to redo it using the functions.php and I dont know how to do that.

    Hope this info helped somehow Tabashira. I dont have the comments.php i was tlaking about in the previous post anymore.

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Pagination comments not working’ is closed to new replies.