Учебники

Как добавить разбиение на страницы в тему WordPress

Как добавить разбиение на страницы в тему WordPress

Если вы хотите добавить поддержку разбивки на страницы в свою тему WordPress с классными числами вместо следующих и предыдущих сообщений по умолчанию, вы можете сделать это с помощью знаменитого плагина PageNavi, однако я предпочитаю добавлять разбиение на страницы вручную в мои темы, чтобы люди этого не делали. нужно искать плагин. Это также помогает поддерживать сайт быстрее без использования всех внешних скриптов и CSS.

К счастью, в WordPress есть отличная функция под названием «paginate_links », которая была добавлена ​​в WordPress 2.1 и позволит вам создавать навигацию в стиле разбивки на страницы для любого запроса на вашем сайте. Вот краткое руководство по добавлению простой навигации по страницам в вашу тему, которая выглядит так же, как разбивка на страницы в моей «Total WordPressTheme ».

Пагинация PHP

Просто добавьте следующий код в конец вашего файла functions.php (или любого другого файла в вашей теме, в котором вы хотите его сохранить).

// Numbered Pagination if (!function_exists( 'wpex_pagination') ) { function wpex_pagination() { $prev_arrow = is_rtl()? '→': '←'; $next_arrow = is_rtl()? '←': '→'; global $wp_query; $total = $wp_query->max_num_pages; $big = 999999999; // need an unlikely integer if( $total > 1) { if( !$current_page = get_query_var('paged')) $current_page = 1; if( get_option('permalink_structure')) { $format = 'page/%#%/'; } else { $format = '&paged=%#%'; } echo paginate_links(array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big) ) ), 'format' => $format, 'current' => max( 1, get_query_var('paged') ), 'total' => $total, 'mid_size' => 3, 'type' => 'list', 'prev_text' => $prev_arrow, 'next_text' => $next_arrow,) ); } } }

Просмотреть все параметры

Пагинация CSS

Скопируйте следующий CSS и вставьте в свой файл style.css.

ul.page-numbers { list-style: none; margin: 0; } .page-numbers:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; } ul.page-numbers li { display: block; float: left; margin: 0 4px 4px 0; text-align: center; } .page-numbers a, .page-numbers span { line-height: 1.6em; display: block; padding: 0 6px; height: 18px; line-height: 18px; font-size: 12px; text-decoration: none; font-weight: 400; cursor: pointer; border: 1px solid #ddd; color: #888; } .page-numbers a span { padding: 0 } .page-numbers a:hover, .page-numbers.current, .page-numbers.current:hover { color: #000; background: #f7f7f7; text-decoration: none; } .page-numbers:hover { text-decoration: none }

Добавление функции разбивки на страницы в вашу тему

Вызвать функцию разбиения на страницы очень просто. Все, что вам нужно сделать, это добавить следующий код в файлы вашей темы, где вы хотите отображать любую разбивку на страницы. Наиболее распространены ваши index.php, home.php, category.php, tags.php, archive.php и search.php. Но если у вас есть какие-либо настраиваемые шаблоны страниц с поддержкой разбивки на страницы, вы захотите добавить их сюда.

Замените нумерацию страниц по умолчанию следующим (обычно находится где-то после endif):

<?php wpex_pagination(); ?>

Пользовательские запросы?

Если вы создаете собственный запрос с помощью WP_Query, эта функция не будет работать, если вы не определили свой запрос в переменной $ wp_query (что плохо, не делайте этого). Чтобы исправить это, я обычно создаю новые запросы вроде следующего:

$wpex_query = new WP_Query( $args );

Таким образом, я могу изменить основную функцию разбиения на страницы, чтобы искать переменную при создании разбивки на страницы, например (редактирование первого фрагмента):

global $wp_query, $wpex_query; if ($wpex_query) { $total = $wpex_query->max_num_pages; } else { $total = $wp_query->max_num_pages; }

Обновление: в этом примере я проверяю глобальную переменную … Однако вы можете просто передать переменную запроса непосредственно в функцию wpex_pagination, что, вероятно, будет лучшим выбором 😉

Источник записи: https://www.wpexplorer.com

Похожие сообщения
Учебники

Как создать плагин виджетов для WordPress

Учебники

11 лучших видео WordPress для начинающих с 6 потрясающих сайтов

Учебники

Как установить и настроить кеширование WordPress с помощью WP Super Cache

Учебники

Руководство для начинающих по пониманию внутренних функций WordPress