コメントを送信した後、前の投稿にページが移動するという結果になりました。前の投稿はコメントを投稿した後に表示されます
Thisはウェブページです。 必要に応じて試してみてください。
これはcomments.php
からのコードです:
<?php
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
die ('Please do not load this page directly. Thanks!');
if (post_password_required()) { ?>
This post is password protected. Enter the password to view comments.
<?php
return;
}
?>
<?php if (have_comments()) : ?>
<h2 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses');?></h2>
<div class="navigation">
<div class="next-posts"><?php previous_comments_link() ?></div>
<div class="prev-posts"><?php next_comments_link() ?></div>
</div>
<ol class="commentlist">
<?php wp_list_comments(); ?>
</ol>
<div class="navigation">
<div class="next-posts"><?php previous_comments_link() ?></div>
<div class="prev-posts"><?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 ?>
<p>Comments are closed.</p>
<?php endif; ?>
<?php endif; ?>
<?php if (comments_open()) : ?>
<div id="respond">
<h2><?php comment_form_title('Leave a Reply', 'Leave a Reply to %s'); ?></h2>
<div class="cancel-comment-reply">
<?php cancel_comment_reply_link(); ?>
</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 »</a></p>
<?php else : ?>
<div>
<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">Name <?php if ($req) echo "(required)"; ?></label>
</div>
<div>
<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">Mail (will not be published) <?php if ($req) echo "(required)"; ?></label>
</div>
<div>
<input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
<label for="url">Website</label>
</div>
<?php endif; ?>
<!--<p>You can use these tags: <code><?php echo allowed_tags(); ?></code></p>-->
<div>
<textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea>
</div>
<div>
<input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
<?php comment_id_fields(); ?>
</div>
<?php do_action('comment_form', $post->ID); ?>
</form>
<?php endif; // If registration required and not logged in ?>
私はthis質問を読んではなく解決策が何であるかを理解していません。 <?php do_action('comment_form', $post->ID); ?>
を期待どおりに動作させるにはどうすればよいですか?
UPDATE:
これは私のsingle.php
、あなたが見るように、$post
は問題があることができるか分からないように設定されています
<?php get_header(); ?>
<nav>
<?php wp_nav_menu(array('menu' => 'Main Nav Menu')); ?>
</nav>
<div id="main-content">
<div class="post-bg-single">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<div class="post-title-single"><h2><?php the_title(); ?></h2></div>
<h5 class="date-single">Posted on <?php the_time(get_option('date_format')); ?></h5>
<div class="separator-up-single"></div>
<div class="thumbnail-single"><?php
if(has_post_thumbnail()){
echo get_the_post_thumbnail(); // or just simply, the_post_thumbnail()
}
?></div>
<div class="entry">
<?php the_content(); ?>
<h5 class="expand">Expand post area</h5>
<!-- <h5 class="print">Printable version</h5> -->
</div>
<div class="separator-down"></div>
<h5 class="categories">Categories: <?php the_category(', ') ?></h5>
<h5 class="tags"><?php the_tags('Tags: ', ', ', '<br />'); ?></h5>
<h5 class="edit"><?php edit_post_link(__('→ Edit post← '), ''); ?></h5>
</div>
</div>
<h84>Read more:</h84>
<div id="related-posts">
<?php
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'showposts'=>4, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
$my_query = new wp_query($args);
if($my_query->have_posts()) {
echo '
<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<?php $bg_image = post_thumb(get_the_post_thumbnail());?>
<a href="<?php the_permalink() ?>"><div class="post-bg-archive" style="background: #777777 url(<?php echo $bg_image;?>);">
<div id="title-bg">
<div class="transparency"></div>
<div class="archive-title"><h10><?php the_title(); ?></h10></div>
</div>
</div></a>
<?php
}
echo '</ul>';
}
}
?>
</div>
<div class="comments-bg">
<?php comments_template(); ?>
</div>
<?php endwhile; endif; ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
'$ post-> ID'をエコーアウトするとどうなりますか?なんらかの理由で間違った価値があるはずです。投稿したコードには$ postの設定に関する情報が含まれていないため、現在のコードから解決策を見つけることはできません。 $ postがいつ設定されるのか、いつ変更されるのかを見るためにコード構造をさらに調べることをお勧めします。 – mrtsherman
質問を更新しました... – rlesko
代わりに 'get_the_ID()'を使用するとどうなりますか? – mrtsherman