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

Реферальная программа Мегаплана


Выводим списки страниц без плагина WP_PageNavi

#1 r0mZet

r0mZet
  • Модератор
  • 961 сообщений
  • Репутация: 107
5

Отправлено 03 Март 2015 - 00:35

Собственно решил запостить по причине, что столкнулся с проблемой работы плагина WP_PageNavi на шаблоне "MACE". Кароч плагин напроч отказался меня слушаться и корретно работать, даже обновление самого плагина не спасло ситуацию. В общем нашел метод как обойтись без плагина, для этого нам понадобятся руки. И так.... лезем в шаблон ищем и находим functions.php далее в самый низ этого документа вставляем код:

function wp_corenavi() {
global $wp_query, $wp_rewrite;
$pages = '';
$max = $wp_query->max_num_pages;
if (!$current = get_query_var('paged')) $current = 1;
$a['base'] = str_replace(999999999, '%#%', get_pagenum_link(999999999));
$a['total'] = $max;
$a['current'] = $current;


$total = 0; //1 - выводить текст "Страница N из N", 0 - не выводить
$a['mid_size'] = 3; //сколько ссылок показывать слева и справа от текущей
$a['end_size'] = 1; //сколько ссылок показывать в начале и в конце
$a['prev_text'] = '«'; //текст ссылки "Предыдущая страница"
$a['next_text'] = '»'; //текст ссылки "Следующая страница"


if ($max > 1) echo '<div>';
if ($total == 1 && $max > 1) $pages = '<span>Страница ' . $current . ' из ' . $max . '</span>'."\r\n";
echo $pages . paginate_links($a);
if ($max > 1) echo '</div>';
}

Функцию создали, теперь ее нужно вывести на сайт.

В зависимости от шаблона ищем файлы index.php (loop.php или theloop.php), archive.php, search.php вставляем код:

<?php if (function_exists('wp_corenavi')) wp_corenavi(); ?>

этот код нужно вставить после строк: 

<?php endwhile; ?>
<?php endif; ?>

Не забываем везде сохраниться и бежим проверять получившиеся сие чудо без плагина WP_PageNavi   :D

 

з.ы - чем этот метод лучше обычного плагина? Ну хотябы взять тот факт что не стоит переживать за скрытые ссылки, которыми так любят пичкать разрабы и не только они (смотря откуда качаете плагин)

 


 

 

Сообщение отредактировал r0mZet: 03 Март 2015 - 00:38

  • 1

#2 kamchatniyoleg

kamchatniyoleg
  • Пользователь PRO
  • 1 178 сообщений
  • Репутация: 84

Отправлено 03 Март 2015 - 14:02

Спасибо огромное, как раз нужно было около недели назад ))) Пришлось гуглём пользоваться. А вы только на форуме ведете блог или есть и сайт посвященный WP?


  • 0
Сервис электронного информирования клиентов PostTrail.ru
Отслеживание посылок Почты России в автоматическом режиме! Лояльность клиента - прибыль магазина!


#3 r0mZet

r0mZet
    Topic Starter
  • Модератор
  • 961 сообщений
  • Репутация: 107

Отправлено 03 Март 2015 - 14:05

kamchatniyoleg, еще веду свой говноблог который несколько дней назад начал выходить из под АГС :D


  • 0

#4 TimurR

TimurR
  • Пользователь PRO
  • 831 сообщений
  • Репутация: 180

Отправлено 08 Март 2015 - 16:31

Такие вещи при верстке обычно сразу вставляю. И считаю, что неплохо бы разработчикам поработать над тем, чтобы это была наконец нативная функция, которая принимает нужные параметры в массиве и выводит все как надо. 


  • 0

Рекомендую хостинг: www.ihc.ru

Разработка сайтов / Дизайн / Верстка - писать в л.с.




Оформление форума – IPBSkins.ru