Помогите допилить пагинацию URL — убрать лишние символы
Запилил пагинацию галереи, но мне не нравится корявые URL
Сейчас
http://example.com/info-test-paginat/ http://example.com/info-test-paginat/?cpage=2 http://example.com/info-test-paginat/?cpage=3
Хочу
http://example.com/info-test-paginat/ http://example.com/info-test-paginat/2 http://example.com/info-test-paginat/3
при возврате со 2-й на первую страницу получаю лишние ?cpage=1
http://example.com/info-test-paginat/?cpage=1
1 Как исправить ?cpage=2 просто на 2 и так далее
2 Как исправить чтоб при возврате на первую пропадали символы ?cpage=1 ?
3 Подскажите что поправить чтоб возможно было изменять названия страниц пагинации под свои нужды к примеру
http://example.com/info-test-paginat/chast=2 http://example.com/info-test-paginat/stranica=2 http://example.com/info-test-paginat/prodoljenie/2
4 В новых названиях не должно быть спец символов типа "вопросительного занака"
5 Как сделать постоянно видимыми
'prev_text' => __('«'),
'next_text' => __('»'),
6 Вылечить баг - Если зайти на странице под таким адрессом, то она будет работать
/example.com/info-test-paginat/ 20 /
/example.com/info-test-paginat/ любое число /chast=2
а URL продолжит слаживаться
<?php if ( is_user_logged_in() ) { /* только для залогиненых */ ?> <div class="gap"></div> <hr /> <div id="testborder"> <?php /* pagination gallery for me Kolshix v: 1.1 */ $categories = get_post_gallery( $post->ID, false ); $categories = explode(',', $categories['ids']); $page = isset( $_GET['cpage'] ) ? abs( (int) $_GET['cpage'] ) : 1; // слово в адресе $numOfItems = 10; // количество постов на странице $to = $page * $numOfItems; // $current = $to - $numOfItems; // $total = sizeof($categories); // всего $outoput = paginate_links( array( 'base' => add_query_arg( 'cpage', '%#%' ), 'format' => '', 'prev_next' => true, 'prev_text' => __('«'), 'next_text' => __('»'), 'total' => ceil($total / $numOfItems), 'current' => $page )); echo '<div class="page-links">'. $outoput .'</div><div class="gappagi"></div>'; ?> <div id="" class="gallery gallery-columns-0 gallery-size-medium" itemscope="" itemtype="http://schema.org/ImageGallery"> <?php for ($i=$current; $i<$to; ++$i) { $category = $categories[$i]; if($category==''){ continue; } // оборвать показ изображений - уже пусто $attachment = get_post( $category ); $massiv = array('title' => $attachment->post_title); // получить alt // вывод галереи на вкус, цвет и размер echo '<figure class="gallery-item" itemprop="associatedMedia" itemscope="" itemtype="http://schema.org/ImageObject"><div class="gallery-icon portrait"><a href="'. get_attachment_link( $category ) . '" itemprop="contentURL"><img src="'. wp_get_attachment_image_url($category,'medium') . '" class="attachment-medium size-medium" itemprop="thumbnail" alt="'. $massiv[title] .'" /></a></div></figure>'; } ?> </div> <div class="gappagi"></div> $outoput = paginate_links( array( 'base' => add_query_arg( 'cpage', '%#%' ), 'format' => '', 'prev_next' => true, 'prev_text' => __('«'), 'next_text' => __('»'), 'total' => ceil($total / $numOfItems), 'current' => $page )); echo '<div class="page-links">'. $outoput .'</div><div class="gappagi"></div>'; </div> <?php /* только для залогиненых */ } ?>
исправил вопрос - лови выше
Не стесняйтесь выложить своё решение с галереями, чтобы было на чём поэкспериментировать. Остальное всё теория.