Intereting Posts
WooCommerce – получать продукты из категории перед удалением категории Данные о популярности плагина внутри «установить новый плагин» Добавить встроенные стили в WP Dashboard Установка размера эскизов по умолчанию и создание нескольких миниатюр Перенаправление восхитительных загрузок в wordpress login, если только участники проверены Визуально изменить тему через строку запроса? Почему существует промежуточная переадресация на https://public-url.org/wp-admin? Pull Последние сообщения в форуме в WordPress Как решить 404 ошибки permalink на сервере nginx Как добавить функциональность для нескольких авторов на сайт WordPress? Есть ли Галерея изображений, которая загрузит все мои опубликованные изображения, например, сетку изображений Twitter? Как запретить пользователям изменять свои первые, последние и экранные имена? Как WordPress обращается к своей собственной базе данных wordpress как сайт обсуждения законопроектов Как удалить фильтр Unattached в списке медиатеки?

Pagination: Как всегда показывать «предыдущий»?

Я использую следующий код для разбивки на страницы.

// Pagination function my_paginate_links() { global $wp_rewrite, $wp_query; $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1; $pagination = array( 'base' => @add_query_arg('page','%#%'), 'format' => '', 'total' => $wp_query->max_num_pages, 'current' => $current, 'prev_text' => __(''), 'next_text' => __('next »'), 'end_size' => 1, 'mid_size' => 2, 'show_all' => true, 'type' => 'list' ); if ( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' ); if ( !empty( $wp_query->query_vars['s'] ) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) ); echo paginate_links( $pagination ); } 

Когда он находится на первой странице, ссылка «предыдущая» не отображается. Я понимаю, почему, но я хотел бы показать это, потому что я проектирую сайт определенным образом. Есть ли часть кода выше, которую я могу изменить, чтобы это произошло? Я прочитал код по этому поводу, но не смог найти ответ, который имел смысл для меня. Буду признателен за любое руководство. Спасибо.

Solutions Collecting From Web of "Pagination: Как всегда показывать «предыдущий»?"

Глядя на источник paginate_links() похоже, нет никакой опции, чтобы всегда включать предыдущую или следующую ссылку. Функция просто сравнивает текущий номер страницы с общим номером страницы, чтобы определить, нужно ли добавлять эти ссылки.

Однако работать над этой проблемой возможно. Это должно помочь вам начать:

 $page_links = paginate_links(array( // Make the function never return previous or next links, // we will add them manually. 'prev_next' => FALSE, // Give us back an array, this is the easiest to work with. 'type' => 'array', // + all your other arguments here )); // Now it is just a matter of adding a previous and next link manually. // Note: you still have to build the actual prev/next URLs. $prev_link = '<a href="#">'.__('Previous').'</a>'; $next_link = '<a href="#">'.__('Next').'</a>'; array_unshift($page_links, $prev_link); $page_links[] = $next_link; // Output echo implode($page_links); 

Немного поздно, но у меня была эта проблема, и я нашел вашу нерешенную проблему. Вот что я пришел … Мы можем получить массив ссылок, поэтому, если мы сравним номер страницы, на которой мы находимся, мы можем вручную добавить нашу предыдущую / следующую ссылку и зациклировать остальные ссылки:

  // Pagination function my_paginate_links() { global $wp_rewrite, $wp_query; $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1; $pagination = array( 'base' => @add_query_arg('page','%#%'), 'format' => '', 'total' => $wp_query->max_num_pages, 'current' => $current, 'prev_text' => __(''), 'next_text' => __('next &raquo;'), 'end_size' => 1, 'mid_size' => 2, 'show_all' => true, 'type' => 'array' ); if ( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' ); if ( !empty( $wp_query->query_vars['s'] ) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) ); $pages = paginate_links( $pagination ); echo '<ul>'; if ( $paged == 1) echo '<li><a href="#" class="disabled">&laquo;</a></li>'; foreach ($pages as $page) : echo '<li>'.$page.'</li>'; endforeach; if ( $paged == $wp_query->max_num_pages ) echo '<li><a href="#" class="disabled">&raquo;</a></li>'; echo '</ul>'; }