Intereting Posts
Поиск дат для пользовательских типов сообщений Локализация работает, но по-прежнему получает «Этот плагин неправильно подготовлен для локализации» msg в каталоге Добавить тему поддержки пользовательский заголовок не скроет текст? WordPress показывает ошибку, связанную с allow_url_fopen Почему javascript работает только при входе в систему? Как добавить параметры настройки с помощью плагинов / кодирования на странице продукта магазина Woocommerce IIS 7 Переписать с родительскими категориями Перенаправить пользователя на определенную ссылку через 10 секунд после использования wp_die Необходимо создать демонстрационный сайт Theme, в котором есть несколько тем Параметры сохранения AJAX внутри класса Найдите пользователя, который изначально создал сообщение Код jQuery не запускался на моем плагине Вызов функции-члена put_contents () для не-объекта Имеет ли WordPress счетчик посещений? is_page_template & is_page в functions.php не работает

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