• Здравствуйте.
    На блоге набралось большое количество комментариев. Решил разбить постранично по 50 комментов, но в моем старом шаблоне это оказалось невозможным (я не смог ничего сделать). Подогнал под свой шаблон файл comments.php из другого шаблона с функцией wp_list_comments . Все получилось нормально, но есть одна проблема. При отправке комментария не с последней станицы у меня не происходит редиректа на последнюю страницу, т.е. пользователь, отправив комментарий, остается на той же странице и не видит отправлен его комментарий, или нет. Для того, что бы увидеть свой коммент (или сообщение о том, что он будет опубликован после проверки) нужно перейти на последнюю страницу. Подскажите, пожалуйста, в чем проблема и как ее исправить?
    Вот код файла comments.php:

    <div id="comment_box">
    <?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">Эта запись защищена паролем, введите пароль чтобы увидеть комментарии.</p>
    <?php
    	return;
    }
    
    // add a microid to all the comments
    function comment_add_microid($classes) {
    	$c_email=get_comment_author_email();
    	$c_url=get_comment_author_url();
    	if (!empty($c_email) && !empty($c_url)) {
    		$microid = 'microid-mailto+http:sha1:' . sha1(sha1('mailto:'.$c_email).sha1($c_url));
    		$classes[] = $microid;
    	}
    	return $classes;
    }
    add_filter('comment_class','comment_add_microid');
    // show the comments
    if ( have_comments() ) : ?>
    	<h4 id="comments"><?php comments_number('Отзывов (0)', 'Отзывов (1)', 'Отзывов (%)' );?></h4>
    	<ul class="commentlist" id="singlecomments">
    	<?php wp_list_comments(array('avatar_size'=>32, 'reply_text'=>'Reply to this Comment')); ?>
    	</ul>
    <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 ('open' == $post->comment_status) :
    		// If comments are open, but there are no comments.
    	else :
    		// comments are closed
    	endif;
    endif; 
    
    if ('open' == $post-> comment_status) : 
    
    // show the form
    ?>
    <div id="respond"><h3><?php comment_form_title(); ?></h3>
    
    <div id="cancel-comment-reply">
    	<small><?php cancel_comment_reply_link(); ?></small>
    </div>
    </div>
    <?php if ( get_option('comment_registration') && !$user_ID ) : ?>
    
    <p>Вы должны <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php echo urlencode(get_permalink()); ?>">войти</a> чтобы оставить комментарий.</p>
    <?php else : ?>
    <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
    
    <?php if ( $user_ID ) : ?>
    
    <p>Вы вошли как <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>.
    <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Выйти &raquo;</a></p>
    
    <?php else : ?>
    
    <p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" />
    <label for="author"><small>Имя <?php if ($req) echo "(обязательно)"; ?></small></label></p>
    <p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />
    <label for="email"><small>Почта <?php if ($req) echo "(обязательно)"; ?></small></label></p>
    <p><?php if ( function_exists('math_comment_spam_protection') ) {
    
    $mcsp_info = math_comment_spam_protection();
    
    ?> <input type="text" name="<?php echo $mcsp_info['fieldname_answer'] ?>" id="<?php echo $mcsp_info['fieldname_answer'] ?>" value="" size="22" tabindex="3" />
    
    <label for="<?php echo $mcsp_info['fieldname_answer'] ?>">сколько будет: <?php echo $mcsp_info['operand1'] . ' + ' . $mcsp_info['operand2'] . ' ?' ?></label>
    
    <input type="hidden" name="<?php echo $mcsp_info['fieldname_hash'] ?>" value="<?php echo $mcsp_info['result']; ?>" />
    
    <?php } // if function_exists... ?><label for="url"><small>(обязательно)</small></label></p>
    
    <?php endif; ?>
    
    <div>
    <?php comment_id_fields(); ?>
    <input type="hidden" name="redirect_to" value="<?php echo htmlspecialchars($_SERVER["REQUEST_URI"]); ?>" /></div>
    <?php if(function_exists(wp_comment_quicktags_plus)) { wp_comment_quicktags_plus(); } ?>
    <p><textarea name="comment" id="comment" cols="50" rows="10" tabindex="4"></textarea></p>
    
    <?php if (get_option("comment_moderation") == "0") { ?>
     <p><small><strong>Please note:</strong> Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.</small></p>
    <?php } ?>
    
    <p><input name="submit" type="submit" id="submit" tabindex="5" value="Отправить комментарий" /></p>
    <?php do_action('comment_form', $post->ID); ?>
    </form>
    <?php endif; ?>
    <?php endif; ?>
    </div>

    Подскажите, пожалуйста, в чем проблема и как ее исправить?

Тема «Постраничная навигация в комментариях» закрыта для новых ответов.