• Jeff-H

    (@jeff-h)


    So for the last couple of nights I’ve been trying to get the comments working on a theme I’m working on And finally got nested comments to work. But my problem is when you click the reply button to reply to a comment it just goes to the bottom of the page, what I want to happen is the comment form to jump up under the comment to reply to. I have already tried putting
    <?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
    above
    <?php wp_head(); ?>
    in the header.php file. Any help would be greatly appreciated!

    Here is my code:
    Functions.php

    <?php
    // Comments Functions
    // =======================================================
    
    // Comment Callback
    // ================
    function custom_comment($comment, $args, $depth) {
       $GLOBALS['comment'] = $comment; ?>
    
    <li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
       <div class="comment-author vcard">
         <?php echo get_avatar($author_email, $size='48', $default_avatar ); ?>
           <div class="comment-meta"<a href="<?php the_author_meta( 'user_url'); ?>"><?php printf(__('%s'), get_comment_author_link()) ?></a></div>
           <small><?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?><?php edit_comment_link(__('(Edit)'),'  ','') ?></small>
         </div>
         <div class="clear"></div>
    
         <?php if ($comment->comment_approved == '0') : ?>
           <em><?php _e('Your comment is awaiting moderation.') ?></em>
           <br />
         <?php endif; ?>
    
         <div class="comment-text">
             <?php comment_text() ?>
         </div>
    
       <div class="reply">
          <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
          <?php delete_comment_link(get_comment_ID()); ?>
       </div>
       <div class="clear"></div>
    <?php } 
    
    // Add Moderation Links In Comments
    // ================================
    function delete_comment_link($id) {
      if (current_user_can('edit_post')) {
        echo '<a href="'.admin_url("comment.php?action=cdc&c=$id").'">del</a> ';
        echo '<a href="'.admin_url("comment.php?action=cdc&dt=spam&c=$id").'">spam</a>';
      }
    }
    ?>

    Comments.php

    <?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 class="nocomments">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 class="commentlist">
            <?php wp_list_comments('type=comment&callback=custom_comment'); // call custom_comment function ?>
        </ol>
        <div class="clear"></div>
        <div class="comment-navigation">
            <div class="older"><?php previous_comments_link() ?></div>
            <div class="newer"><?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">
    
     <!-- Comment Form Title
    ============================================================== -->
    
    <h3><?php comment_form_title( 'Leave a Reply', 'Leave a Reply to %s' ); ?></h3>
    
    <!-- end Comment Form Title
    ============================================================== -->
    
    <div class="cancel-comment-reply">
        <small><?php cancel_comment_reply_link(); ?></small>
    </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() ) : ?>
    
    <p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Log out of this account">Log out &raquo;</a></p>
    
    <?php else : ?>
    
    <!-- Comment Form
    ============================== -->
    
    <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>Your 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>Your Email (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 Comment" />
    <?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; // if you delete this the sky will fall on your head ?>

    If any one can find my mistake please let me know thanks.

Viewing 1 replies (of 1 total)
  • Thread Starter Jeff-H

    (@jeff-h)

    Ok so I went through another tutorial and still the same thing the comment form will not move to reply to a comment?
    my new code:

    comments.php

    <?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 class="nocomments">This post is password protected. Please enter the passward to view comments.</p>
    		<?php
    			return;
    		}
    	?>
    
    		<?php if(have_comments()): ?>
    		<h3 id="comment-number"><?php comments_number('No Comments', '1 Comment', '% Comments'); ?> to “<?php the_title(); ?>“</h3><!-- end .comments -->
    
    		<div class="navigation">
    			<div class="previous-comment"><?php previous_comments_link(); ?></div>
    			<div class="next-comment"><?php next_comments_link(); ?></div>
    		</div><!-- end .navigation -->
    
    		<ul class="comment-list">
    			<?php wp_list_comments('type=comment&callback=custom_comments_list'); ?>
    		</ul><!-- end .comment-list -->
    
    		<div class="navigationv">
    			<div class="previous-comment"><?php previous_comments_link() ?></div>
    			<div class="next-comment"><?php next_comments_link() ?></div>
    		</div><!-- end .navigation -->
    
    		<?php else: // this is displayed if there are no comments yet ?>
    
    			<?php if(comments_open()): ?>
    				<!-- if comments are open, but no comments -->
    
    			<?php else:// comments are closed ?>
    				<!-- If comments are closed -->
    				<p class="nocomments">Comments are closed.</p>
    
    			<?php endif; // end if(comments_open() ?>
    		<?php endif; // end if(have_comments() ?>
    
    		<?php if(comments_open()): ?>
    		<div id="respond">
    			<h3 id="comments"><?php comment_form_title('Leave a reply', 'Leave a reply to %s'); ?></h3>
    		<div class="cancel-comment-reply">
    			<small><?php cancel_comment_reply_link(); ?></small>
    		</div><!-- end .cancel-comment-reply -->
    
    		<?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: ?>
    
    		<!-- Comment Form
    		=================================== -->
    
    			<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentsform">
    			<?php if(is_user_logged_in()): ?>
    				<p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Log out of this account">Log out &raquo;</a></p>
    
    			<?php else: ?>
    
    				<label for="author"><small>Name:<?php if($req)echo"(required)"; ?></small></label>
    				<input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" tabindex="1"<?php if ($req) echo"aria-required='true'"; ?> />
    
    				<label for="email"><small>Email:<?php if($req)echo"(required)"; ?></small></label>
    				<input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" tabindex="2"<?php if ($req) echo"aria-required='true'"; ?> />
    
    				<label for="url">Website:<?php if($req)echo"(required)"; ?></label>
    				<input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" tabindex="3" />
    
    				<?php endif; // end if(is_user_logged_in() ?>
    
    				<p><small>You can use these tags:<code><?php echo allowed_tags(); ?></code></small></p>
    
    				<textarea name="comment" id="comment" tabindex="4"></textarea>
    
    				<input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
    
    			<?php do_action('comment_form', $post->ID); ?>
    			</form>
    
    	<?php endif; // end if regestration is required and not logged in ?>
        	</div><!-- end respond -->
    	<?php endif; // end if(comments_open() ?>

    functions.php

    // Comments Functions
    // =======================================================
    
    function custom_comments_list($comment, $args, $depth){
    	$GLOBALS['comment']=$comment; ?>
        <li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
        	<div id="comment-<?php comment_ID(); ?>">
            <div class="comment-author vcard">
            	<?php echo get_avatar($comment, 52); ?>
                <?php comment_author_link(); ?>
            </div><!-- end .comment-author vcard -->
            <?php if($comment->comment_approved=='0'): ?>
            	<em>Your comment is awaiting moderation</em><br />
            <?php endif; // end if($comment->comment_approved=='0') ?>
    
            <div class="comment-time">
            	<a href="<?php echo htmlspecialchars(get_comment_link($comment->comment_ID)) ?>">
                	<?php comment_date(); ?> at <?php comment_time(); ?>
                </a>
                <?php edit_comment_link('Edit',' | ','') ?>
                <?php comment_reply_link(array_merge($args, array('depth'=>$depth, 'max_depth'=>$args['max_depth'], 'login_text'=>'Log In to Reply'))) ?>
    		</div><!-- end .comment-time -->
            <?php comment_text() ?>
            </div><!-- end comment- -->
    
    <?php
    } ?>

    If someone can help me or point me where to get help that would be great, thanks.

Viewing 1 replies (of 1 total)
  • The topic ‘Trying to move comment form to reply’ is closed to new replies.