Перейти к содержимому

Фотография

Помогите с кодом пагинации для WordPress


  • Вы не можете создать новую тему
  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 bor10811

bor10811

    Прохожий

    Топикстартер
  • Участник
  • 4
    51 сообщ.

Отправлено 12 Ноябрь 2018 в 00:47

Помогите с кодом пагинации для WordPress

 

В файле funtions.php находится код:

function copyright_pagination( $args = array() ) {
   
    $defaults = array(
        'range'           => 3,
        'custom_query'    => FALSE,
        'prev_next'       => false,
        'before_output'   => '<center><div class="paginating"><ul class="pagination">',
        'after_output'    => '</ul></div></center>'
    );
   
    $args = wp_parse_args(
        $args,
        apply_filters( 'wp_bootstrap_pagination_defaults', $defaults )
    );
   
    $args['range'] = (int) $args['range'] - 1;
    if ( !$args['custom_query'] ) $args['custom_query'] = @$GLOBALS['wp_query'];
    $count = (int) $args['custom_query']->max_num_pages;
    $page  = intval( get_query_var( 'paged' ) );
    $ceil  = ceil( $args['range'] / 2 );
   
    if ( $count <= 1 ) return FALSE;
   
    if ( !$page ) $page = 1;
   
    if ( $count > $args['range'] ) {
        if ( $page <= $args['range'] ) {
            $min = 1;
            $max = $args['range'] + 1;
        } elseif ( $page >= ($count - $ceil) ) {
            $min = $count - $args['range'];
            $max = $count;
        } elseif ( $page >= $args['range'] && $page < ($count - $ceil) ) {
            $min = $page - $ceil;
            $max = $page + $ceil;
        }
    } else {
        $min = 1;
        $max = $count;
    }
   
    $echo = '';
    $previous = intval($page) - 1;
    $previous = esc_attr( get_pagenum_link($previous) );
   
    $firstpage = esc_attr( get_pagenum_link(1) );
    if ( $firstpage && (1 != $page) )
        $echo .= '<li><a href="' . $firstpage . '">' . __( '«', 'text-domain' ) . '</a></li>';

    if ( !empty($min) && !empty($max) ) {
        for( $i = $min; $i <= $max; $i++ ) {
            if ($page == $i) {
                $echo .= '<li><span>' . str_pad( (int)$i, 2, '0', STR_PAD_LEFT ) . '</span></li>';
            } else {
               $echo .= sprintf( '<li><a href="%s">%002d</a></li>', esc_attr( get_pagenum_link($i) ), $i );
            }
        }
    }
   
    $next = intval($page) + 1;
    $next = esc_attr( get_pagenum_link($next) );

    $lastpage = esc_attr( get_pagenum_link($count) );
    if ( $lastpage ) {
        $echo .= '<li><a href="' . $lastpage . '">' . __( '»', 'text-domain' ) . '</a></li>';
    }
    if ( isset($echo) )
        echo $args['before_output'] . $echo . $args['after_output'];
}

На страницах категорий category-portfolio.php и category-articles.php пагинация выводится с помощью кода:

<?php
                copyright_pagination();
?>

Раньше, на другом сайте всё работало! Однако сейчас, вдруг, пагинация сломалась. Ссылки выводятся, но при клике на них я попадаю на первую, стартовую страницу категории, а не на ту, куда, по идее, должна вести ссылка.

 


  • 0

Спонсор


Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей