Постраничная навигация в комментариях
-
Здравствуйте.
На блоге набралось большое количество комментариев. Решил разбить постранично по 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">Выйти »</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>Подскажите, пожалуйста, в чем проблема и как ее исправить?
Тема «Постраничная навигация в комментариях» закрыта для новых ответов.