• Is it possible to have two different comments.php?
    I thought I could pull it off by testing
    <?php include (TEMPLATEPATH . '/comments.php'); ?>
    and it didn’t work.
    For some reason it would show the reply box, but not the comments themselves. Any ideas?

    BTW, the only reason why is: 1.IDK PHP enough 2.I need pages to show up descending and posts need to be ascending.

    If you have an easier way, feel free to share.

    -Eric

Viewing 15 replies - 1 through 15 (of 16 total)
  • I’m a bit confused. What exactly are you wanting?

    You can use this code to show the comments. It needs to be toward the end of your loop.

    <?php
    $withcomments = "1";
    comments_template();
    ?>

    And then for the ascending and descending you change the value in your query_post function in the loop.

    <?php $args2=array(
      'order' => 'ASC' //or DESC
      ); ?>
    <?php query_posts($args2); while(have_posts()) : ? the_post();?>
    Thread Starter hoss9009

    (@hoss9009)

    Well I was wanting two different comment template pages because I need one for pages and one for posts.

    Thread Starter hoss9009

    (@hoss9009)

    btw… I stole the Kubrick comments.php

    Thread Starter hoss9009

    (@hoss9009)

    help?

    You don’t need two comment pages. You just need to define some custom classes for your style sheet.
    Your comments.php should have a line similar to this

    <?php if ($comments) : ?>
    	<h2 id="comments">

    Change it to something like this

    <?php if ($comments) : ?>
    	<?php if (is_page()){ ?>
    		<h2 id="comments" class="commentstyle1">
    	<?php } elseif (is_posts()){ ?>
    		<h2 id="comments" class="commentstyle2">
    	<?php } ?>

    Thread Starter hoss9009

    (@hoss9009)

    cool… i’ll give it a whirl.
    If anyone else has 2cents… feel free to join in.

    Thread Starter hoss9009

    (@hoss9009)

    I apologize… I see an “if comments”.

    I’m not sure where to put this new if statement.
    Again, I’m not great w/ php…

    Here’s my 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>
    
    	<div class="navigation">
    		<div class="alignleft"><?php previous_comments_link() ?></div>
    		<div class="alignright"><?php next_comments_link() ?></div>
    	</div>
    
    	<ol class="commentlist">
    	<?php wp_list_comments(); ?>
    	</ol>
    
    	<div class="navigation">
    		<div class="alignleft"><?php previous_comments_link() ?></div>
    		<div class="alignright"><?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">
    
    <h3><?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>
    
    <?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 : ?>
    
    <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>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>Mail (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="58" rows="10" tabindex="4"></textarea></p>
    
    <p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit 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 ?>

    yours is a bit different then mine, but I’ll try to point you to the right place.

    <!-- You can start editing here. -->
    
    <?php if ( have_comments() ) : ?>
    	<?php if (is_page()){ ?>
    		<h3 id="comments" class="commentstyle1">
    	<?php } elseif (is_posts()){ ?>
    		<h3 id="comments" class="commentstyle2">
    	<?php } ?>
    	<?php comments_number('No Responses', 'One Response', '% Responses' );?> to “<?php the_title(); ?>”</h3>
    
    	<div class="navigation">

    Try that. (Or something like it.) Then you can make your css declarations in the stylesheet for customizing each type of comment.

    Thread Starter hoss9009

    (@hoss9009)

    ok… wp_list_comments won’t be affected?

    Thread Starter hoss9009

    (@hoss9009)

    What about something like this…

    <?php if ( have_comments() ) : ?>
    	<?php if (is_page()){ ?>
    	<ol class="commentlist">
    	<?php wp_list_comments(); ?>
    	</ol>
    	<?php } elseif (is_posts()){ ?>
         <ol>
         <?php foreach($comments as $comment) : ?>
             <li id="comment-<?php comment_ID(); ?>">
                 <?php if ($comment->comment_approved == '0') : ?>
                     <p>Your comment is awaiting approval</p>
                 <?php endif; ?>
                 <?php comment_text(); ?>
                 <cite><?php comment_type(); ?> by <?php comment_author_link(); ?> on <?php comment_date(); ?> at <?php comment_time(); ?></cite>
             </li>
         <?php endforeach; ?>
         </ol>
     <?php else : ?>
         <p>No comments yet</p>
     <?php endif; ?> 
    
    <?php if ( have_comments() ) : ?>
    	<h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to “<?php the_title(); ?>”</h3>

    Thread Starter hoss9009

    (@hoss9009)

    Really… all of this could be solved if I knew how to write
    1.a comment template page (w/ a loop) w/ descending threaded comments and
    2.a comment template page (w/ a loop) w/ ascending threaded comments

    If any knows how to do this… I’d love to know how. I can’t find much of anything on this. Seems like it’s either a custom, no threads comments.php or I just have to use wp_list_comments and have no customization.

    Thread Starter hoss9009

    (@hoss9009)

    I like the idea of get_comments, but I still don’t know how to add threaded comments to something like this:

    1. <?php if($comments) : ?>
       2.     <ol>
       3.     <?php foreach($comments as $comment) : ?>
       4.         <li id="comment-<?php comment_ID(); ?>">
       5.             <?php if ($comment->comment_approved == '0') : ?>
       6.                 <p>Your comment is awaiting approval</p>
       7.             <?php endif; ?>
       8.             <?php comment_text(); ?>
       9.             <cite><?php comment_type(); ?> by <?php comment_author_link(); ?> on <?php comment_date(); ?> at <?php comment_time(); ?></cite>
      10.         </li>
      11.     <?php endforeach; ?>
      12.     </ol>
      13. <?php else : ?>
      14.     <p>No comments yet</p>
      15. <?php endif; ?>

    Thread Starter hoss9009

    (@hoss9009)

    Ok so the idea of having a customized, threaded comments.php isn’t really possible…
    unless… you do this in your functions.php

    function mytheme_comment($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,$size='48',$default='<path_to_url>' ); ?>
    
             <?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?>
          </div>
          <?php if ($comment->comment_approved == '0') : ?>
             <em><?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 printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),'  ','') ?></div>
    
          <?php comment_text() ?>
    
          <div class="reply">
             <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
          </div>
         </div>
    <?php
            }

    BUT… every time I do it my functions.php goes dead.
    Also, how do I show the comment number?

    giant slayer… i owe you!

    I don’t know that I’ve helped all that much. But I am still searching the forums and codex looking for what you want.

Viewing 15 replies - 1 through 15 (of 16 total)
  • The topic ‘Two comments.php?’ is closed to new replies.