Главная » Wordpress » Оптимизация » Альтернатива WP-pagenavi (без лишних запросов к БД или Кешу)

Альтернатива WP-pagenavi (без лишних запросов к БД или Кешу)

Комментариев: 37Альтернатива WP-pagenavi (без лишних запросов к БД или Кешу)
  • Я не знаю php вообще, как сделать так?

    ОТВЕТИТЬ ↓
    • Вам к Лебедеву нужно обратиться :) Шутка.

      Если php не знаете, то делайте так, как предлагается и не нужно подражать батюшке Яндексу :)

      ОТВЕТИТЬ ↓
  • А я сделал

    Хотелось чтобы на php сделалось примерно так:

    <div class="wp-pagenavi"> 
    
    <b class="df">Страницы</b> 
    
    /*код, если находишься на 1-й странице*/
    <span class="dh">
    	<i class="di">
    		<i class="dj">
    	<</i> Ctrl</i>
    предыдущая
    </span> 
    
    /*код, если находишься на последней странице*/
    <span class="dg">
    	сдедующая
    	<i class="di">Ctrl
    		<i class="dj">
    		>
    		</i>
    	</i>
    </span> 
    
    /*следущая*/
    <span class="dg">
    <a id="next_page" class="b-pager__next" href="urlnext">следующая</a>
    	<i class="di">Ctrl
    		<i class="dj">
    		>
    		</i>
    	</i>
    </span> 
    
    /*предыдущая*/
    <span class="dg">
    	<i class="di">Ctrl
    		<i class="dj">
    		>
    		</i>
    	</i>
    
    <a id="next_page" class="b-pager__next" href="urlnext">следующая</a>
    </span> 
    
    <div class="numbers"> 
    
    <a href="http://gubkabob.com/">1</a>
    <span class="current">2</span>
    <a href="http://gubkabob.com/page/3/">3</a>
    <a href="http://gubkabob.com/page/4/">4</a>
    <a href="http://gubkabob.com/page/5/">5</a>
    
    </div><!--numbers-->
    
    </div><!--wp-pagenavi-->
    
    ОТВЕТИТЬ ↓
    • я уже кое-что начал понимать

      ОТВЕТИТЬ ↓
      • итак, я тут делаю и мне нужно вот это

        if ($backtext && $paged!=1) $out.= '<a href="'.get_pagenum_link(($paged-1)).'">'.$backtext.'</a>';
        				if ($nexttext && $paged!=$end_page) $out.= '<a href="'.get_pagenum_link(($paged+1)).'">'.$nexttext.'</a>';

        поместить внутрь этого дива

        <div class='wp-kama-navi'></div>

        но не знаю как это сделать, помогите

        ОТВЕТИТЬ ↓
        • Получилось)

          if ($backtext & nexttext) $out.= "<div class='wp-kama-navi'>";
          				if ($backtext && $paged!=1) $out.= '<a href="'.get_pagenum_link(($paged-1)).'">'.$backtext.'</a>';
          				if ($nexttext && $paged!=$end_page) $out.= '<a href="'.get_pagenum_link(($paged+1)).'">'.$nexttext.'</a>';
          				if ($backtext & nexttext) $out.= "</div>";

          Незнаю насколько логичен такой код, поправьте если это неправильно ну и все такое

          ОТВЕТИТЬ ↓
  • еще было классно если бы ссылка на несуществующую страницу не исчезала, а становилась обычным текстом как на картинке

    Я считаю что без такой "нерабочей ссылки" глазам человека непривычно

    ОТВЕТИТЬ ↓
    • так вроде нужно чтоб визуально не нарушалоась привычность навигации ссылками "предыдущая", "следующая"

      когда пропадает ссылка, я начинаю тупить)

      ОТВЕТИТЬ ↓
      • Можно так сделать (исправленный код, который вы выложили выше, с учетом, чтобы назад/вперед не исчезали, если ссылки нет, то будет просто текстом показываться):

        
        $out.= "<div class='wp-kama-navi'>";
        $out.= ($backtext && $paged!=1) ? '<a href="'.get_pagenum_link(($paged-1)).'">'.$backtext.'</a>' : $backtext;
        $out.= ($nexttext && $paged!=$end_page) ? '<a href="'.get_pagenum_link(($paged+1)).'">'.$nexttext.'</a>' : $nexttext;
        $out.= "</div>";
        
        ОТВЕТИТЬ ↓
        • Спасибо!

          ОТВЕТИТЬ ↓
        • я еще стрелочек и надпись "страницы" добавил

          Не знаю как это заработало, но я что-то неправильно с стрелочками сделал

          $out='';//выводим навигацию
          		$out.= $before."<div class='wp-pagenavi'>\n";
          		$out.= "<div class='wp-kama-navi'>";
          				if ($text_num_page){
          					$text_num_page = preg_replace ('!\{current\}|\{last\}!','%s',$text_num_page);
          					$out.= sprintf ("<b>$text_num_page</b>  ",$paged,$max_page);
          				}
          
          $out.= ($backtext && $paged!=1) ? '←<a href="'.get_pagenum_link(($paged-1)).'">'.$backtext.'</a>' :  '←&nbsp' .$backtext;
          $out.= ($nexttext && $paged!=$end_page) ? '<a href="'.get_pagenum_link(($paged+1)).'">'.$nexttext.'</a>→' :  ''.$nexttext.'&nbsp→'  ;
          $out.= "</div>";
          ОТВЕТИТЬ ↓
Форма комментирования

¤ Для кода используйте кнопку "Код": php, js, html, css, sql
¤ Простой код: <div> - пробелы и табы вырезаются.
¤ Перед отправкой комментария используйте "Превью".
¤ Спам комментарии 100% в топку!

Комментарии через RSS.

Подписаться на комментарии без комментирования:

Плагины Wordpress

X

Забыли пароль?