Пользовательская функция поискового вызова

Я использую этот код для своего пользовательского пейджинга:

global $wpdb, $table_prefix, $current_user; get_currentuserinfo(); $umail = $current_user->user_email; $paged = $wpdb->get_results("SELECT * FROM {$table_prefix}comments WHERE comment_author_email = '$umail'"); $page = isset($_GET['page']) ? (int) $_GET['page'] : 1; $pages = COUNT($paged); $pages = ceil($pages / 2); $querystring = ""; foreach ($_GET as $key => $value) { if ($key != "page") $querystring .= "$key=$value&amp;"; } // Pagination for ($i = 1; $i <= $pages; $i++) { echo "<a " . ($i == $page ? "class=\"selected\" " : ""); echo "href=\"?{$querystring}page=$i"; echo "\">$i</a> "; } 

Этот код paginate мои комментарии выглядят так: 1 2 3 4 5 6 7 8 9 10 11

Как изменить код для получения paginate выглядит так: 1 2 3 … 11

Спасибо за любую помощь.

Вместо цикла внизу, используйте paginate_links() WordPress:

 $pagination = paginate_links(array( 'total' => $pages, 'current' => $page )); echo $pagination; 

Вы можете поиграть с некоторыми https://codex.wordpress.org/Function_Reference/paginate_links, чтобы получить внешний вид так, как вы хотите. В частности, end_size и mid_size помогут вам определить количество отображаемых номеров страниц, как в вашем примере (1 2 3 … 11).

Если вы хотите что-то действительно мощное, вы можете проверить мой плагин Boog's Pagination: http://teleogistic.net/2011/05/new-wordpress-plugin-boones-pagination/ (бесстыдный плагин!), Хотя это может быть слишком много для вашего случая использования 🙂