Intereting Posts
Добавление HTML / текста в начало профиля подписчика Backend Page Удалять изображения из_сочетания Страница входа в систему ОШИБКА: файлы cookie заблокированы из-за неожиданного вывода Отображать все типы сообщений вместе Добавление разделителя в панировочные сухари Action hook для управления доступом к определенным частям моего сайта Инструмент экспорта WordPress не экспортирует постформатное значение настраиваемого типа сообщений? wp_nav_menu со списком страниц по умолчанию Как написать запрос обновления в WordPress для истечения переходных процессов WP_User_Query не может сразу восстановить всех пользователей Создайте сеть веб-сайта rss Ошибка при переопределении только одного выходного кода HTML-кода короткого кода Как добавить изображения в сообщение, не вставляя их в область содержимого редактора сообщений? query_posts не читает правильные категории Сделайте комментарии группы администратора WordPress, используя $ allowedtags

Использование paginate_links () для создания «1, 2, 3 … 10, 20, 30, 40 … 55» разбивок на страницы

Я нашел этот код:

// Get total number of pages global $wp_query; $total = $wp_query->max_num_pages; // Only paginate if we have more than one page if ( $total > 1 ) { // Get the current page if ( !$current_page = get_query_var('paged') ) $current_page = 1; // Structure of “format” depends on whether we're using pretty permalinks $permalinks = get_option('permalink_structure'); $format = empty( $permalinks ) ? '&page=%#%' : 'page/%#%/'; echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'format' => $format, 'current' => $current_page, 'total' => $total, 'mid_size' => 2, 'type' => 'list' )); } 

Он работает нормально, но он генерирует разбивку на страницы как «1, 2, 3 … LASTPAGENUMBER», я видел плагины, которые генерируют такие фрагменты, как «1, 2, 3 … 19, 20, 30 … LASTPAGENUMBER».

Можно ли это сделать с помощью функции paginate_links ()?

Я не хочу добавлять плагин только для этой небольшой настройки.

Функция paginate_links() делает это по умолчанию. Контролирующим параметром является mid_size , который определяет количество ссылок на страницу вокруг текущей страницы . Значение по умолчанию – 2 .

Это означает, что при условии, что у вас есть 12 страниц, а текущая страница – страница , будет выглядеть так:

 1 2 3 ... 12 

Но если текущая страница – страница , то она будет выглядеть так:

 1 ... 4 5 6 7 8 ... 12 

Я мог ошибаться, но я думаю, что так должны работать плагины с привязкой к страницам.

редактировать

Извините, я сначала неправильно прочитал ваш вопрос и не понял, что вы хотите вывести каждую десятую страницу в своих ссылках на страницы.

Эта функция не имеет встроенного параметра, чтобы делать то, что вы хотите. Лучше всего установить 'show_all' в true , изменить 'type' на 'array' , а затем самостоятельно построить результат, перейдя по значениям массива.

http://codex.wordpress.org/Function_Reference/paginate_links

То, что вы ищете, это «end_size», добавьте это в массив аргументов со значением, которое вы хотите.

 $paged = (get_query_var('page')) ? get_query_var('page') : 1; $args= new WP_Query(array( 'post_type'=>'card', 'posts_per_page' => 6, 'paged' => $paged, )); if($args->have_posts()) : while($args->have_posts()) : $args->the_post(); $permalink=get_the_permalink(get_the_ID()); $title=get_the_title(); echo '<div class="col-md-4 card-details"><a href="'.$permalink.'">'; echo '<div class="card-img">';the_post_thumbnail('thumbnail');echo '</div>'; echo '<div class="card-title"><h4>'.$title.'</h4></a>'; echo'</div>'; echo '</div>'; endwhile; $total_pages = $args->max_num_pages; ?> <div class="greetings-pagination col-md-12"> <?php if ($total_pages > 1){ $current_page = max(1, get_query_var('page')); echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'format' => '/page/%#%', 'current' => $current_page, 'total' => $total_pages, 'prev_text' => __('prev'), 'next_text' => __('next'), )); } ?> </div> <?php else :?> <h3><?php _e('404 Error&#58; Not Found', ''); ?></h3> <?php endif; ?> <?php wp_reset_postdata();?> 

На веб-сайте разработчика WordPress он упомянул некоторые параметры. Это страница об этой функции. Вы можете проверить «end_size» для получения дополнительной информации.

И у меня все еще есть вопрос. Я использую <?php echo paginate_links(); ?> <?php echo paginate_links(); ?> в моем шаблоне темы и он отлично работает (как показано на рисунке). введите описание изображения здесь

Но я не уверен, что это вызовет некоторые другие проблемы.