WordPress.org

Ready to get started?Download WordPress

Forums

Can only leave comment on newest post (9 posts)

  1. KatyL
    Member
    Posted 6 years ago #

    My blog:
    http://shuttabugs.com/

    It seems that viewers can only leave a comment on my most recent post and ONLY when on my main page and can't comment at all on my older posts because there is no link to do so.

    Can someone help? I have searched for hours through the support archives and nothing has helped.

    I have everything checked that should be...My options to allow comments have always been checked. I have posts that were commented on when it was my most recent post at that time, but you can't see them once I post more posts.

    I am confused!

  2. tsguitar
    Member
    Posted 6 years ago #

    I'm going to guess that you don't have the link to the comment form (or popup) on your Single Post template. Check that to make sure it's there, just like it's there on your Main Index Template.

  3. KatyL
    Member
    Posted 6 years ago #

    Where would I find the Single Post template? Is it the same as the single.php in the WP_content>Themes>Default folder???

  4. tsguitar
    Member
    Posted 6 years ago #

    That's it. You can also get to it through your WordPress admin (Presentation >> Theme Editor >> Single Post).

  5. KatyL
    Member
    Posted 6 years ago #

    It's not working...nothing happens. Here is the code that I think is effecting the comments. Can someone make sense of this???

    <?php comments_rss_link('RSS 2.0'); ?> feed.

    <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
    // Both Comments and Pings are open ?>
    You can leave a response, or " rel="trackback">trackback from your own site.

    <?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
    // Only Pings are Open ?>
    Responses are currently closed, but you can " rel="trackback">trackback from your own site.

    <?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
    // Comments are open, Pings are not ?>
    You can skip to the end and leave a response. Pinging is currently not allowed.

    <?php } elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
    // Neither Comments, nor Pings are open ?>
    Both comments and pings are currently closed.

    <?php } edit_post_link('Edit this entry.','',''); ?>

    </small>
    </p>

    </div>
    </div>

    <?php comments_template(); ?>

  6. moshu
    Member
    Posted 6 years ago #

    The thing is that you are NOT using the default theme - you are using a very special photoblog theme.
    What you posted above is from default not from your theme.

    You need this line in the single.php of your theme (if there is one):
    <?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?

  7. KatyL
    Member
    Posted 6 years ago #

    That's the problem...there is NOT a single.php under my specific theme. I created a new file titled single.php and copied everything in my index.php file and put it in the single.php file and that did not do anything either.

    Here are the files I have (before I added the single.php)
    archive.php
    archives.php
    comment-functions.php
    comments-popup.php
    comments.php
    footer.php
    header.php
    index.php
    page.php
    screenshot.png
    style.css

  8. KatyL
    Member
    Posted 6 years ago #

    I should add that I have this very line of code in my index.php, which from what I understand, if you do not have a single.php, then your index.php acts AS the single.php and should control all the pages and not just the main page. Here is my index.php code..maybe you can see the error in it? I have tried every suggestion and come up with nothing that works.

    <?php get_header(); ?>
    <!-- begin post -->
    <?php if (! empty($display_stats) ) { get_stats(1); echo "
    "; } else if (($posts & empty($display_stats)) ) : foreach ($posts as $post) : start_wp(); ?> <div class="entry">

    <?php global $post, $tableposts;
    $previous = @$wpdb->get_var("SELECT ID FROM $tableposts WHERE post_date < '$post->post_date' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 0, 1");
    if ($previous) {
    $link = get_permalink($previous);
    echo '' . $post->post_content . '
    ';
    } else {
    the_content('[More Photos]');
    } ?>

    </div>

    <div class="posted">» <?php the_title(); ?> / " title="Permalink"><?php the_time('M j, \'y') ?> / <?php the_category(', '); ?> / <?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?> <?php previous_post('%', '/ Previous', 'no'); ?> <?php next_post('%', '/ Next', 'no'); ?> <?php edit_post_link('/ edit','<span class="editlink">','</span>'); ?>

    </div>

    <!-- <?php trackback_rdf(); ?> -->

    <?php endforeach; else: ?>
    <p><b> <h2 class="center">Page not found</h2> </b></p>

    <?php endif; ?>

    <!-- end post -->

    <div class="entrycat">
    <?php $arc_query = new WP_Query('orderby=post_date&order=DESC&showposts=5'); ?> <?php while ($arc_query->have_posts()) : $arc_query->the_post(); ?> " title="<?php the_title(); ?>"><?php echo $post->post_excerpt; ?>

    <?php endwhile; ?>

    </div>

    <?php get_footer(); ?>

  9. moshu
    Member
    Posted 6 years ago #

    comment-functions.php
    That's not a standard WP template file. You'll need to ask the theme author.

    EDIT. I just noticed you had another post that was "spammed" by Akismet, restored.
    And it seems it is a custom Loop, so you have to figure out how it works.

Topic Closed

This topic has been closed to new replies.

About this Topic

Tags