Display comment form of specific page in sidebar

I want to display the comment form of a specific page on a sidebar.

It will look like this roughly.

Read More

enter image description here


enter image description here


I tried modifying from comments.php and putting it on sidebar.php.

But nothing shows up. Help please?

<?php $aspirasi = get_post(2); ?> 
<?php if ( 'open' == $aspirasi->comment_status ) : ?>
            <div id="respond">
                <h3><?php comment_form_title( __('Post a Comment', 'newtheme'), __('Post a Reply to %s', 'newtheme') ); ?></h3>

                <div class="formcontainer">  

                    <form id="commentform" action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post">

<?php if ( $user_ID ) : ?>
                        <p id="login"><?php printf(__('<span class="loggedin">Logged in as <a href="%1$s" title="Logged in as %2$s">%2$s</a>.</span> <span class="logout"><a href="%3$s" title="Log out of this account">Log out?</a></span>', 'newtheme'),
                            get_option('siteurl') . '/wp-admin/profile.php',
                            wp_specialchars($user_identity, true),
                            wp_logout_url(get_permalink()) ) ?></p>

<?php else : ?>

                        <p id="comment-notes"><?php _e('Your email is <em>never</em> published nor shared.', 'newtheme') ?> <?php if ($req) _e('Required fields are marked <span class="required">*</span>', 'newtheme') ?></p>

          <div id="form-section-author" class="form-section">
                            <div class="form-label"><label for="author"><?php _e('Name', 'newtheme') ?></label> <?php if ($req) _e('<span class="required">*</span>', 'newtheme') ?></div>
                            <div class="form-input"><input id="author" name="author" type="text" value="<?php echo $comment_author ?>" size="30" maxlength="20" tabindex="3" /></div>
          </div><!-- #form-section-author .form-section -->

          <div id="form-section-email" class="form-section">
                            <div class="form-label"><label for="email"><?php _e('Email', 'newtheme') ?></label> <?php if ($req) _e('<span class="required">*</span>', 'newtheme') ?></div>
                            <div class="form-input"><input id="email" name="email" type="text" value="<?php echo $comment_author_email ?>" size="30" maxlength="50" tabindex="4" /></div>
          </div><!-- #form-section-email .form-section -->

          <div id="form-section-url" class="form-section">
                            <div class="form-label"><label for="url"><?php _e('Website', 'newtheme') ?></label></div>
                            <div class="form-input"><input id="url" name="url" type="text" value="<?php echo $comment_author_url ?>" size="30" maxlength="50" tabindex="5" /></div>
          </div><!-- #form-section-url .form-section -->

<?php endif /* if ( $user_ID ) */ ?>

          <div id="form-section-comment" class="form-section">
                            <div class="form-label"><label for="comment"><?php _e('Comment', 'newtheme') ?></label></div>
                            <div class="form-textarea"><textarea id="comment" name="comment" cols="45" rows="8" tabindex="6"></textarea></div>
          </div><!-- #form-section-comment .form-section -->

          <div id="form-allowed-tags" class="form-section">
              <p><span><?php _e('You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes:', 'newtheme') ?></span> <code><?php echo allowed_tags(); ?></code></p>
          </div>

<?php do_action('comment_form', $aspirasi->ID); ?>

                        <div class="form-submit"><input id="submit" name="submit" type="submit" value="<?php _e('Post Comment', 'newtheme') ?>" tabindex="7" /><input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></div>
                     </form><!-- #commentform -->
                </div><!-- .formcontainer -->
            </div><!-- #respond -->
<?php endif /* if ( 'open' == $post->comment_status ) */ ?>
        </div><!-- #comments -->

Related posts

1 comment

  1. Don’t build your own form and don’t modify comments.php – it’s purpose is little bit different and I don’t think you should include it inside sidebar.

    Just put comment_form function call in your sidebar template. It takes 2 parameters: args and post_id.

    So you can do it like this:

    $args = array(
        ... // your custom arguments (you can leave it empty
    );
    comment_form( $args, $post_id );
    

    Where should you place this code? Somewhere in your sidebar template. (sidebar.php or something like that, but it depends on your theme).

Comments are closed.