Support » Fixing WordPress » When click on comments link the reader is taken to the top of the page

  • Hi,

    I am relatively new to WordPress – I have just written my first post.

    Could you please help me resolve the following issue:

    I am using the “Emerald Stretch” template on wordpress. Every time someone clicks on “Comment” to leave a comment to a post, the person is taken to the top of the page and they have to scroll down to the comment form to leave a comment.

    And a similar problem when they hit the “Submit” button – instead of the person being taken to the bottom of the post where they can see their comment, they are taken to the top of the page and they have to scroll down to see their comment.

    What code can I use in the template files to change this action. Although I am a beginner I am picking up how to change the code as I go.

    Thanks a lot,

    Lance

Viewing 15 replies - 1 through 15 (of 56 total)
  • Site url?

    lancesview.com or lancesview.com/blog1

    Thanks

    Your anchor (#respond) doesn’t actually exist. To go to your comment form, you would need to either change that to #comments or change the ID of your comment form to ‘respond‘.

    Thanks Kawauso, but I’m confused. Keep in mind I’m must a beginner. I know what you mean by anchor, but I need to know exactly what to write and where.

    Do I actually just type “#respond”?
    Do I place that in the index file? Single post file? comments file?

    What’s the correlating code to the anchor that I can search for. I tried searching for “respond” but found nothing.

    thanks again,

    Lance

    Sorry about that. Try looking under the comments.php file for "respond" or 'respond' and changing the part inside the quotes to comments and hopefully it should work. Sorry I can’t be more specific, but it varies by theme how it’s all done.

    Hi Kawauso,

    I’m still not sure what to do. Here is the comments.php file. Maybe you can see something that’s off. Thanks:

    <?php
    if (‘comments.php’ == basename($_SERVER[‘SCRIPT_FILENAME’]))
    die (__(‘Please do not load this page directly.’, ’emerald_stretch’));

    if (!empty($post->post_password)) {
    if ($_COOKIE[‘wp-postpass_’ . COOKIEHASH] != $post->post_password) {
    ?>
    <p><?php _e(‘This post is password protected. Enter the password to read comments.’, ’emerald_stretch’); ?></p>
    <?php
    return;
    }
    }
    $oddcomment = ‘alt’;
    ?>

    <div id=”comments”>
    <?php if ($comments) : ?>
    <h1><?php comments_number(__(‘No Responses’,’emerald_stretch’), __(‘One Response’,’emerald_stretch’), __(‘% Responses’,’emerald_stretch’)); //_e(‘ to “’,’emerald_stretch’); the_title(); _e(‘”’, ’emerald_stretch’); ?></h1>
    <div id=”comment-area”>

      <?php foreach ($comments as $comment) : ?>
      <li class=”<?php echo $oddcomment; ?> <?php if (function_exists(‘author_highlight’)) { ?> <?php author_highlight(); ?><?php } ?>” id=”comment-<?php comment_ID() ?>”>

      <p class=”commenter”><?php echo get_avatar( $comment, 48 ); ?> <?php comment_author_link() ?><span class=”comment-info”> – <?php comment_date(__(‘F j, Y’, ’emerald_stretch’)) ?></span></p>
      <?php if ($comment->comment_approved == ‘0’) : ?>
      <span class=”comment-moderation”><?php _e(‘••• Your comment is awaiting moderation •••’, ’emerald_stretch’); ?></span>
      <?php endif; ?>
      <?php comment_text() ?>

      <?php
      if (‘alt’ == $oddcomment) $oddcomment = ”;
      else $oddcomment = ‘alt’;
      ?>

      <?php endforeach; ?>

    </div>

    <?php if (‘closed’ == $post->comment_status) : ?>
    <!– <h3><?php _e(‘Comments are closed for this entry.’, ’emerald_stretch’); ?></h3> –>
    </div>
    <?php endif; ?>

    <?php else : ?>
    <?php if (‘open’ == $post->comment_status) : ?>
    <?php else : ?>
    <!– <h3><?php _e(‘Comments are closed for this entry.’, ’emerald_stretch’); ?></h3> –>
    </div>
    <?php endif; ?>
    <?php endif; ?>

    <?php if (‘open’ == $post->comment_status) : ?>
    <div id=”comment-form”>
    <h1><?php _e(‘Post a Comment’, ’emerald_stretch’); ?></h1>
    <?php if ( get_option(‘comment_registration’) && !$user_ID ) : ?>
    <p><?php _e(‘You must be’, ’emerald_stretch’); ?> /wp-login.php?redirect_to=<?php echo urlencode(get_permalink()); ?>”><?php _e(‘logged in’, ’emerald_stretch’); ?><?php _e(‘ to post a comment’, ’emerald_stretch’); ?>.</p>
    </div>
    <?php else : ?>
    <form action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php” method=”post” id=”commentform”>
    <?php if ( $user_ID ) : ?>
    <p><?php _e(‘Logged in as’, ’emerald_stretch’); ?> /wp-admin/profile.php”><?php echo $user_identity; ?>. <?php wp_loginout(); ?>.<!– /wp-login.php?action=logout” title=”<?php _e(‘Log out of this account’, ’emerald_stretch’); ?>”><?php _e(‘Log out »’, ’emerald_stretch’); ?> –></p>
    <?php else : ?>
    <p><input type=”text” name=”author” id=”author” value=”<?php echo $comment_author; ?>” size=”30″ tabindex=”1″ <?php if ($req) echo “aria-required=’true'”; ?> />
    <label for=”author”><?php _e(‘Name’, ’emerald_stretch’); ?><?php if ($req) _e(‘, required’, ’emerald_stretch’); ?></label></p>
    <p><input type=”text” name=”email” id=”email” value=”<?php echo $comment_author_email; ?>” size=”30″ tabindex=”2″ <?php if ($req) echo “aria-required=’true'”; ?> />
    <label for=”email”><?php _e(‘Email (will not be published)’, ’emerald_stretch’); ?><?php if ($req) _e(‘, required’, ’emerald_stretch’); ?></label></p>
    <p><input type=”text” name=”url” id=”url” value=”<?php echo $comment_author_url; ?>” size=”30″ tabindex=”3″ />
    <label for=”url”><?php _e(‘Your Website (optional)’, ’emerald_stretch’); ?></label></p>
    <?php endif; ?>
    <p><textarea name=”comment” id=”comment” cols=”60″ rows=”10″ tabindex=”4″></textarea></p>
    <?php do_action(‘comment_form’, $post->ID); ?>
    <p>
    <input name=”submit” class=”button” type=”submit” id=”submit” tabindex=”5″ value=”<?php _e(‘Submit’, ’emerald_stretch’); ?>” />
    <input type=”hidden” name=”comment_post_ID” value=”<?php echo $id; ?>” />
    </p>
    </form>
    </div>
    <?php endif; ?>
    </div>
    <?php endif; ?>

    Change <div id="comments"> to <div id="respond">, about 15 lines down. I keep getting my names the wrong way round today sorry 😛

    Hi,

    I made the change and it didn’t seem to do anything. Any other suggestions?

    Thanks

    Does anyone else have a suggestion?

    Thanks

    @lance007: It works here. It’ll only scroll as far down as the bottom of the page though, so it might not look like it’s moved if the page doesn’t fill the screen. If that’s not the case, try using Ctrl+F5 to get a fresh copy of the page.

    Try this: http://lancesview.com/blog1/law-firm-experience/send-kid-upin-ferrari/#respond

    Hi Kawauso,

    It does work now – that’s great. I apologize.
    Thanks a lot for your help – I appreciate it.
    I don’t understand how a change from comments to respond would do that, but it does.

    Lance

    The part after # in a link essentially means, “Look for something with the id or name set to this and scroll to it”, so it was just looking for the wrong name before 🙂

    I guess that’s what I don’t understand. I didn’t see any other “respond” in the file that it could scroll to.

    While I have you here – perhaps you would answer another question for me. How do I set my blog so that posed comments are automatically shown on my site below the post, rather than people having to click on the “comments” link in order to see the posted comments? (at least to see a number of them before clicking on a link to see more)
    And is there a way to make the “comments” link bigger so people can actually notice it if they want to leave a comment?

    Thanks

    Nice blog btw 🙂

    Put <?php $withcomments = true; comments_template(); ?> under a line with the_content( in index.php.

    Then in comments.php before <?php if ('closed' == $post->comment_status) : ?>, put <?php if ( !is_home() ) : ?> and after the final line, put

    <?php else : ?>
    </div>
    <?php endif; ?>

    and to take out the responses header, put <?php if ( !is_home() ) : ?> and <?php endif; ?> around the line beginning <h1>

    If you want to limit the number of comments shown, in comments.php before:
    <?php endforeach; ?>
    put:

    <?php
    if ( is_home() ) {
      static $comment_output_count = 0;
      $comment_output_count++;
      if ( $comment_output_count == 5 )
        break;
    }
    ?>

    just change 5 to whatever you want to cap it at.

    To change the size of the comments link (or at least, the entire line) look in your stylesheet for #postmeta { and change font-size: 80% to something higher (it’s done relative to the size of the normal text).

    Thanks a lot Kawauso.
    When you get sick of my questions just tell me.

    1) I didn’t understand what you meant about if I want to “take out the responses header” – what is the responses header? (I haven’t put that code in yet)

    I can now see the comments automatically. I have a couple other questions:
    2) Is there a way to leave it so that I can see the comments automatically as I have it, but not see the “comment form” automatically. So that just below or above the comment there’s a link saying “post a comment” which brings up the comment form. I find that it’s too long and I want the reader to be able to see my next post easily.

    3) When I click on the “COMMENTS” OR “ONE COMMENT” link at the bottom of the post, instead of taking me to the comments section, it takes me to the top of the page. Is there a way for the link to take me to the comments section rather than the top of the page?

    Thanks again for all your help. It makes this a hell of a lot easier.

    Lance

Viewing 15 replies - 1 through 15 (of 56 total)
  • The topic ‘When click on comments link the reader is taken to the top of the page’ is closed to new replies.