Криво работает пагинация в WP?

234
16 ноября 2021, 13:30

Всем добрейшего времени! Подскажите кто чем может. Вывожу пагинацию на странице с превью новостей, пагинация работает, почти все как надо, кроме одного НО, нажимая на 1 страницу, мне нужно что бы меня возвращало на mysite/news, а он меня кидает на mysite/news/page/1/, полагаю проблема кроется где то тут, str_replace( $big, '%#%', get_pagenum_link( $big ) ),но не могу найти решение, буду благодарен за подсказку! Вот кусок кода

  <?php
                $big = 999999999; // need an unlikely integer
                //описание настроек:https://codex.wordpress.org/Function_Reference/paginate_links
                $pagination_args = array(
                    'base'               => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
                    'format'             => '%#%',
                    'total'              => $custom_query->max_num_pages,
                    'current'            => max( 1, get_query_var('paged') ),
                    'show_all'           => false,
                    'end_size'           => 0,
                    'mid_size'           => 2,
                    'prev_next'          => true,
                    'prev_text'          => __(''),
                    'next_text'          => __('Дальше'),
                    'type'               => 'plain',
                    'add_args'           => false,
                    'add_fragment'       => '',
                    'before_page_number' => '',
                    'after_page_number'  => ''
                ); ?>
                <div class="navigation pagination list_items_pag" role="navigation">
                    <div class="nav-links">
                        <?php
                         //if (function_exists("pagination")) {pagination($custom_query->max_num_pages);} 
                            echo paginate_links ($pagination_args);
                        ?>
                    </div>
                </div>
Answer 1

Можно реализовать через if | else. Если ID страницы 1, то переадресовываем пользователя на 'mysite/news/'.

Answer 2

Нужно пагинацию перед выводом обернуть в функцию preg_replace:

$pagination = paginate_links ($pagination_args);
$pagination = preg_replace( '~/page/1/?([\'"])~', '\1', $pagination );
echo $pagination;
READ ALSO
Как подключить кодировку UTF-8 в mysql?

Как подключить кодировку UTF-8 в mysql?

У меня есть опрос на сайте, оно с помощью sqlquery = select берет вопросы с базы данных, и показывает на сайте, но сейчас вместо букв стоит символ ?, как...

158
Не могу получить ссылку на скачку видео(Youtube)

Не могу получить ссылку на скачку видео(Youtube)

Не могу получить ссылку на скачку некоторых видео с ютуба https://wwwyoutube

85
Как объединить 2 массива в один?

Как объединить 2 массива в один?

Всем привет, есть 2 массиваПервый $attr_type:

206