Intereting Posts
удалить новое сообщение, если уже есть одно сообщение Галерея изображений Timthumb.php не работает на Multisite WordPress Ajax не работает, если обработчик находится вне плагина подменю. Функция страницы setcookie не работает, если определено с помощью '/', но работает, если не определено Включая шаблон в короткие коды Расширенный поиск для WordPress Michael Soriano touch mobile В чем смысл $ single param get_post_meta? Где идут сообщения WordPress? Отображать только предстоящие события / Показать все события, когда выбран год архива Почему, когда дело доходит до пользовательского фона и изображения, выигрывает ли «Первое значение, зарегистрированное»? Как показать сообщение категории конкретному зарегистрированному пользователю Свежая установка WordPress в подкаталоге недоступна Slidedeck Pro WordPress Размер изображения Как использовать wp_list_categories с категорией плагина? Какие методы использовать для создания небольших редактируемых фрагментов текста для статических страниц?

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>'; }