错误的Comment.php,发帖后评论不会出现吗?

时间:2017-04-30 作者:japanworm

我的comment.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() ) : ?>

    <?php if ( ! empty($comments_by_type[\'comment\']) ) : ?>
        <h2 class="h2comments"><img src="http://zoomingjapan.com/wp-content/themes/alltuts-child/images/comments_big.png" alt="Leave a comment" width="32" height="32" /><?php comments_number(\'No Comments\', \'1 Comment\', \'% Comments\' );?> <a href="#respond" class="addComment">Add your comment</a></h2>

        <ul class="commentlist" id="comments">
            <?php wp_list_comments(\'type=comment&callback=mytheme_comment\'); ?>

            <div class="navigation">
                <?php paginate_comments_links(); ?>
            </div>
        </ul>
    <?php endif; ?> 

    <?php if ( ! empty($comments_by_type[\'pings\']) ) : ?>
        <h2 id="pings">Trackbacks/Pingbacks</h2>
        <ul class="pinglist">
            <?php wp_list_comments(\'type=pings&callback=list_pings\'); ?>
        </ul>
    <?php endif; ?>

<?php else : // this is displayed if there are no comments so far ?>

    <?php if (\'open\' == $post->comment_status) : ?>
        <!-- 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 (\'open\' == $post->comment_status) : ?>

    <div id="respond">
        <div id="commentsForm"></div>
        <div class="cancel-comment-reply"><small><?php cancel_comment_reply_link(); ?></small></div>

        <?php if ( get_option(\'comment_registration\') && !$user_ID ) : ?>
            <p>You must be <a href="<?php echo get_option(\'siteurl\'); ?>/wp-login.php?redirect_to=<?php echo urlencode(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 ( $user_ID ) : ?>
                    <h3>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></h3>
                <?php else : ?>
                    <div id="authorData">
                        <p><input type="text" name="author" id="author" title="Your real name or any nickname (also Twitter username etc.) is okay." value="<?php echo $comment_author; ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required=\'true\'"; ?> /></p> 

                        <p><input type="text" name="email" id="email" title="Don\'t worry, it won\'t be published! ^-^ So, please enter a valid e-mail address!" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required=\'true\'"; ?> /></p>

                        <p><input type="text" name="url" id="url" title="This field is not required, but feel free to share your blog, Twitter, Livejournal etc. with others!" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" /></p>

                        <div class="commentform_required_img"><img src="http://zoomingjapan.com/wp-content/themes/alltuts/images/commentform_input_required.png" alt="commentform input required" width="189" height="108" /></div>
                    </div>
                <?php endif; ?>

                <!--<p><small><strong>XHTML:</strong> You can use these tags: <code><?php echo allowed_tags(); ?></code></small></p>-->
                <textarea name="comment" id="comment" cols="1" rows="10" tabindex="4"></textarea
                <p>
                    <input name="submit" type="submit" id="submit" tabindex="5" title="" value="" />
                    <?php comment_id_fields(); ?>
                    <?php do_action(\'comment_form\', $post->ID); ?>
                    <?php if (function_exists(\'subscribe_reloaded_show\')) subscribe_reloaded_show(); ?>
                </p>
            </form>
        <?php endif; // If registration required and not logged in ?>

</div>

<?php endif; // if you delete this the sky will fall on your head ?>
当有人发表新评论时,他们将被重定向到感谢页面。到目前为止还不错。但如果有人再次发表评论,他们将看不到“你的评论正在等待审核”。事实上,他们根本看不到自己的评论。这会导致人们一次又一次地评论,因为他们认为自己的评论没有通过。

只有在我已经发表评论的同一篇文章中点击“回复另一条评论”,我才能看到“适度评论”。

这太奇怪了,不应该是这样的。

你能告诉我为了解决这个问题,我需要在代码中修改什么吗?

非常感谢你。

1 个回复
最合适的回答,由SO网友:japanworm 整理而成

这种奇怪的行为都与缓存问题有关。

我再次联系了主机服务。他们只是给了我同样的一行插入我的.htaccess file 我告诉他们我已经试过了,但没用。

然后我给他们看了我的。htaccess文件,他们删除了与服务器缓存相关的整个部分。Now server caching is completely off 一切又恢复了。

仍然不清楚为什么这之前从未引起问题。最终,它与Wordpress无关。

我希望这个答案能帮助那些遇到类似问题的人。