Wordpress: WP page numbers+WP commentnavi13 April 2009, 10:04:24 |
Wordpress 2.7 has a wonderful feature – comments pager. It means that comments to post are separated to several pages. That’s very useful, but, by default, wordpress poorly shows that navigation (only “forward” and “backward” links).
To show a cool pager we need to install WP commentnavi plugin. But, once again, by default it diesn’t look cool.
If you use WP page numbers plugin, then you can use it’s style to show comments pages too. Here’s how to do it.
В вопрдпрессе 2.7 появилась такая замечательная вещь, как навигация по комментариям. Однако по умолчанию она выглядит убого (есть только ссылки вперёд-назад), и гораздо приятнее использовать постраничную навигацию.
Это для нас делает плагин WP commentnavi. И, опять же, он не очень симпатично выглядит по умолчанию.
Зато есть очень красивая и функциональная листалка для страниц блога под названием WP page numbers.
Соотвественно, было бы классно, чтобы оно выводилось одинаково, и в одном стиле. Бесспорно, это можно сделать через настраиваемый css плагина WP commentnavi – но это не очень удобно, да и зачем нам подгрузка лишних стилей?
Лучше сделать так, чтобы WP commentnavi использовал стили от WP page numbers.
How to do it:
1) Open wp-commentnavi.php, and remove lines
Как это сделать:
1) открываем wp-commentnavi.php, после чего
Просто убираем.
2) Replace function wp_commentnavi($before = ”, $after = ”) with the following code:
2) Заменяем функцию function wp_commentnavi($before = ”, $after = ”) , которая занимается выводом кода пейджера на код
Voila, everything works, just like on this page.
Вуаля, всё будет показываться красиво и в одном стиле, совсем как на этойПри копировании материалов, пожалуйста, не забывайте ссылку на оригинал статьи (http://jehy.ru/articles/2009/04/13/wp-page-numbers-and-wp-commentnavi/). страничке (см. пейджер внизу, после комментариев).
To show a cool pager we need to install WP commentnavi plugin. But, once again, by default it diesn’t look cool.
If you use WP page numbers plugin, then you can use it’s style to show comments pages too. Here’s how to do it.
В вопрдпрессе 2.7 появилась такая замечательная вещь, как навигация по комментариям. Однако по умолчанию она выглядит убого (есть только ссылки вперёд-назад), и гораздо приятнее использовать постраничную навигацию.
Это для нас делает плагин WP commentnavi. И, опять же, он не очень симпатично выглядит по умолчанию.
Зато есть очень красивая и функциональная листалка для страниц блога под названием WP page numbers.
Соотвественно, было бы классно, чтобы оно выводилось одинаково, и в одном стиле. Бесспорно, это можно сделать через настраиваемый css плагина WP commentnavi – но это не очень удобно, да и зачем нам подгрузка лишних стилей?
Лучше сделать так, чтобы WP commentnavi использовал стили от WP page numbers.
How to do it:
1) Open wp-commentnavi.php, and remove lines
Как это сделать:
1) открываем wp-commentnavi.php, после чего
### Function: Comment Navigation CSS add_action('wp_head', 'commentnavi_css'); function commentnavi_css() { if(@file_exists(TEMPLATEPATH.'/commentnavi-css.css')) { wp_register_style('wp-commentnavi', get_stylesheet_directory_uri().'/commentnavi-css.css', false, '1.00', 'all'); } else { wp_register_style('wp-commentnavi', plugins_url('wp-commentnavi/commentnavi-css.css'), false, '1.00', 'all'); } echo "\n".'<!-- Start Of Script Generated By WP-CommentNavi 1.00 -->'."\n"; wp_print_styles('wp-commentnavi'); echo '<!-- End Of Script Generated By WP-CommentNavi 1.00 -->'."\n"; }
Просто убираем.
2) Replace function wp_commentnavi($before = ”, $after = ”) with the following code:
2) Заменяем функцию function wp_commentnavi($before = ”, $after = ”) , которая занимается выводом кода пейджера на код
function wp_commentnavi($before = '', $after = '') { global $wp_query; $comments_per_page = intval(get_query_var('comments_per_page')); $paged = intval(get_query_var('cpage')); $commentnavi_options = get_option('commentnavi_options'); $numcomments = intval($wp_query->comment_count); $max_page = intval($wp_query->max_num_comment_pages); if(empty($paged) || $paged == 0) { $paged = 1; } $pages_to_show = intval($commentnavi_options['num_pages']); $pages_to_show_minus_1 = $pages_to_show-1; $half_page_start = floor($pages_to_show_minus_1/2); $half_page_end = ceil($pages_to_show_minus_1/2); $start_page = $paged - $half_page_start; if($start_page <= 0) { $start_page = 1; } $end_page = $paged + $half_page_end; if(($end_page - $start_page) != $pages_to_show_minus_1) { $end_page = $start_page + $pages_to_show_minus_1; } if($end_page > $max_page) { $start_page = $max_page - $pages_to_show_minus_1; $end_page = $max_page; } if($start_page <= 0) { $start_page = 1; } if($max_page > 1 || intval($commentnavi_options['always_show']) == 1) { $pages_text = str_replace("%CURRENT_PAGE%", number_format_i18n($paged), $commentnavi_options['pages_text']); $pages_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pages_text); echo $before.'<div id="wp_page_numbers"><ul>'."\n"; if(!empty($pages_text)) { echo '<li class="page_info"> '.$pages_text.' </li>'; } if ($start_page >= 2 && $pages_to_show < $max_page) { $first_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $commentnavi_options['first_text']); echo '<li class="first_last_page"><a href="'.clean_url(get_comments_pagenum_link()).'" title="'.$first_page_text.'"> '.$first_page_text.' </a></li>'; if(!empty($commentnavi_options['dotleft_text'])) { echo '<li class="space"> '.$commentnavi_options['dotleft_text'].' </li>'; } } echo'<li>'; previous_comments_link($commentnavi_options['prev_text']); echo'</li>'; for($i = $start_page; $i <= $end_page; $i++) { if($i == $paged) { $current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $commentnavi_options['current_text']); #echo '<li class="active_page"> '.$current_page_text.' </li>'; echo '<li class="active_page"><a href="'.clean_url(get_comments_pagenum_link($i)).'" title="'.$current_page_text.'"> '.$current_page_text.' </a></li>'; } else { $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $commentnavi_options['page_text']); echo '<li><a href="'.clean_url(get_comments_pagenum_link($i)).'" title="'.$page_text.'"> '.$page_text.' </a></li>'; } } echo'<li>'; next_comments_link($commentnavi_options['next_text'], $max_page); echo'</li>'; if ($end_page < $max_page) { if(!empty($commentnavi_options['dotright_text'])) { echo '<li class="space"> '.$commentnavi_options['dotright_text'].' </li>'; } $last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $commentnavi_options['last_text']); echo '<li><a href="'.clean_url(get_comments_pagenum_link($max_page)).'" title="'.$last_page_text.'"> '.$last_page_text.' </a></li>'; } echo '</ul><div style="float: none; clear: both;"></div></div>'.$after."\n"; } }
Voila, everything works, just like on this page.
Вуаля, всё будет показываться красиво и в одном стиле, совсем как на этойПри копировании материалов, пожалуйста, не забывайте ссылку на оригинал статьи (http://jehy.ru/articles/2009/04/13/wp-page-numbers-and-wp-commentnavi/). страничке (см. пейджер внизу, после комментариев).
| Tags: wordpress | Comments [ 1 ] |

Subscribe? Sure? What for?
31 August at 8:30 pm
Interesting hack. I made WP Page Numbers and now I made another one, .
One big difference is that you can include arguments with the function. Maybe you’ll like it, maybe you don’t.
Regards Jens Törnell