Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
24 / 24 / 10
Регистрация: 22.12.2012
Сообщений: 2,712

Как сменить вид постраничной навигации?

13.03.2015, 08:23. Показов 1329. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как в WP сменить вид постраничной навигации?
Сейчас постраничная навигация имеет вид "< 1 2 3 4 5 6 7 8 9 10 >", а надо сделать "предыдущая - следующая".
Кто знает ответ?
Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2015, 08:23
Ответы с готовыми решениями:

Ошибка в Постраничной навигации
Всем доброго дня, столкнулся с такой проблемой. Ссылка на рубрику у меня иммет такой вид: site.ru?cat=1 но когда я пытаюсь перейти на...

Неверная хронологическая последовательность в постраничной навигации
Здравствуйте. Создаю тему для wp и столкнулся со следующей неприятной ситуацией: на http://domen/page/1/, http://domen/page/2/,...

Как сменить вид в шаблоне?
Приветствую, форумчане. Подскажите, пожалуйста, как сменить вид макета? Купил тему Fortune ( кликабельно и разумеется это не реклама......

12
10 / 9 / 2
Регистрация: 21.11.2013
Сообщений: 50
13.03.2015, 14:13
Имеется в виду архивная?

Есть нативная функция в WP, можно ее крутить-вертреть как хочешь

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function wp_corenavi() {  
      global $wp_query;  
      $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 = 1; //1 - выводить текст "Страница N из N", 0 - не выводить  
      $a['mid_size'] = 3; //сколько ссылок показывать слева и справа от текущей  
      $a['end_size'] = 1; //сколько ссылок показывать в начале и в конце  
      $a['prev_text'] = '&laquo;'; //текст ссылки "Предыдущая страница"  
      $a['next_text'] = '&raquo;'; //текст ссылки "Следующая страница"  
      
      if ($max > 1) echo '<div class="page-links soft">';  
      if ($total == 1 && $max > 1) $pages = '<span class="pages">Страница ' . $current . ' из ' . $max . '</span>'."\r\n";  
      echo $pages . paginate_links($a);  
      if ($max > 1) echo '</div>';  
    }
0
24 / 24 / 10
Регистрация: 22.12.2012
Сообщений: 2,712
14.03.2015, 00:26  [ТС]
Имеется ввиду навигация по постам (страницам контента).

Где это? В каком файле?

Добавлено через 31 минуту
Я могу выслать содержимое файлов.

Добавлено через 3 часа 1 минуту
Я нигде не нашел ничего подобного.
0
 Аватар для hardwaremaster
307 / 307 / 142
Регистрация: 12.02.2014
Сообщений: 1,165
Записей в блоге: 1
14.03.2015, 12:25
Цитата Сообщение от morda77 Посмотреть сообщение
Я нигде не нашел ничего подобного.
Вам привели пример кода, у вас навигация может быть реализована абсолютно иным способом. А может и вообще плагином wp-pagenavi.
0
24 / 24 / 10
Регистрация: 22.12.2012
Сообщений: 2,712
15.03.2015, 04:33  [ТС]
wp-pagenavi не установлен.
В каком файле вообще копать?
0
 Аватар для hardwaremaster
307 / 307 / 142
Регистрация: 12.02.2014
Сообщений: 1,165
Записей в блоге: 1
15.03.2015, 13:00
Цитата Сообщение от morda77 Посмотреть сообщение
В каком файле вообще копать?
все индивидуально... могут быть вообще настройки в админке... ну а если нету то нужно искать вывод функции потом саму функцию ну и уже править.
0
24 / 24 / 10
Регистрация: 22.12.2012
Сообщений: 2,712
15.03.2015, 19:41  [ТС]
Ясно. В общем х.з., где это.)
0
24 / 24 / 10
Регистрация: 22.12.2012
Сообщений: 2,712
18.03.2015, 20:42  [ТС]
Что если подредактировать функцию static function get_pagination() вот тут:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
get_pagination() {
        global $wp_query;
 
        if (td_global::$current_template == '404') {
            return;
        }
 
        $pagenavi_options = self::pagenavi_init();
 
        $request = $wp_query->request;
        $posts_per_page = intval(get_query_var('posts_per_page'));
        $paged = intval(get_query_var('paged'));
        $numposts = $wp_query->found_posts;
        $max_page = $wp_query->max_num_pages;
 
 
 
        //hack for category pages - pagination
        if(!is_admin() and is_category()) {
 
 
            // get the category object - with or without permalinks
            if (empty($wp_query->query_vars['cat'])) {
                $td_current_category_obj = get_category_by_path(get_query_var('category_name'), false);  // when we have permalinks, we have to get the category object like this.
            } else {
                $td_current_category_obj = get_category($wp_query->query_vars['cat']);
            }
 
 
            if (isset($td_current_category_obj->cat_ID)) {
                $disable_category_big_grid_hide_option = td_util::get_category_option($td_current_category_obj->cat_ID, 'tdc_slider');
            } else {
                $disable_category_big_grid_hide_option = '';
            }
 
            //check if the slider for this category is enabled or disabled
            if($disable_category_big_grid_hide_option != 'yes') {
                $numposts = $wp_query->found_posts - 5;//5 from big grid
                $max_page = ceil($numposts / $posts_per_page);
            }
 
            //echo '<br>num posts: '.$numposts;
            //echo '<br>max pages: '.$max_page;
        }
 
 
        if(empty($paged) || $paged == 0) {
            $paged = 1;
        }
 
        $pages_to_show = intval($pagenavi_options['num_pages']);
        $larger_page_to_show = intval($pagenavi_options['num_larger_page_numbers']);
        $larger_page_multiple = intval($pagenavi_options['larger_page_numbers_multiple']);
        $pages_to_show_minus_1 = $pages_to_show - 1;
        $half_page_start = floor($pages_to_show_minus_1/2);
        $half_page_end = ceil($pages_to_show_minus_1/2);
        $start_page = $paged - $half_page_start;
        if($start_page <= 0) {
            $start_page = 1;
        }
        $end_page = $paged + $half_page_end;
        if(($end_page - $start_page) != $pages_to_show_minus_1) {
            $end_page = $start_page + $pages_to_show_minus_1;
        }
        if($end_page > $max_page) {
            $start_page = $max_page - $pages_to_show_minus_1;
            $end_page = $max_page;
        }
        if($start_page <= 0) {
            $start_page = 1;
        }
        $larger_per_page = $larger_page_to_show*$larger_page_multiple;
        $larger_start_page_start = (self::td_round_number($start_page, 10) + $larger_page_multiple) - $larger_per_page;
        $larger_start_page_end = self::td_round_number($start_page, 10) + $larger_page_multiple;
        $larger_end_page_start = self::td_round_number($end_page, 10) + $larger_page_multiple;
        $larger_end_page_end = self::td_round_number($end_page, 10) + ($larger_per_page);
        if($larger_start_page_end - $larger_page_multiple == $start_page) {
            $larger_start_page_start = $larger_start_page_start - $larger_page_multiple;
            $larger_start_page_end = $larger_start_page_end - $larger_page_multiple;
        }
        if($larger_start_page_start <= 0) {
            $larger_start_page_start = $larger_page_multiple;
        }
        if($larger_start_page_end > $max_page) {
            $larger_start_page_end = $max_page;
        }
        if($larger_end_page_end > $max_page) {
            $larger_end_page_end = $max_page;
        }
 
        if($max_page > 1 || intval($pagenavi_options['always_show']) == 1) {
            $pages_text = str_replace("%CURRENT_PAGE%", number_format_i18n($paged), $pagenavi_options['pages_text']);
            $pages_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pages_text);
 
            echo '<div class="page-nav td-pb-padding-side">';
            
            previous_posts_link($pagenavi_options['prev_text']);
            if ($start_page >= 2 && $pages_to_show < $max_page) {
                $first_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['first_text']);
                echo '<a href="'.esc_url(get_pagenum_link()).'" class="first" title="'.$first_page_text.'">'.$first_page_text.'</a>';
                if(!empty($pagenavi_options['dotleft_text'])) {
                    echo '<span class="extend">'.$pagenavi_options['dotleft_text'].'</span>';
                }
            }
            if($larger_page_to_show > 0 && $larger_start_page_start > 0 && $larger_start_page_end <= $max_page) {
                for($i = $larger_start_page_start; $i < $larger_start_page_end; $i+=$larger_page_multiple) {
                    $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
                    echo '<a href="'.esc_url(get_pagenum_link($i)).'" class="page" title="'.$page_text.'">'.$page_text.'</a>';
                }
            }
            
            for($i = $start_page; $i  <= $end_page; $i++) {
                if($i == $paged) {
                    $current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']);
                    echo '<span class="current">'.$current_page_text.'</span>';
                } else {
                    $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
                    echo '<a href="'.esc_url(get_pagenum_link($i)).'" class="page" title="'.$page_text.'">'.$page_text.'</a>';
                }
            }
            
            if($larger_page_to_show > 0 && $larger_end_page_start < $max_page) {
                for($i = $larger_end_page_start; $i <= $larger_end_page_end; $i+=$larger_page_multiple) {
                    $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
                    echo '<a href="'.esc_url(get_pagenum_link($i)).'" class="page" title="'.$page_text.'">'.$page_text.'</a>';
                }
            }
            if ($end_page < $max_page) {
                if(!empty($pagenavi_options['dotright_text'])) {
                    echo '<span class="extend">'.$pagenavi_options['dotright_text'].'</span>';
                }
                $last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['last_text']);
                echo '<a href="'.esc_url(get_pagenum_link($max_page)).'" class="last" title="'.$last_page_text.'">'.$last_page_text.'</a>';
            }
            next_posts_link($pagenavi_options['next_text'], $max_page);
            if(!empty($pages_text)) {
                echo '<span class="pages">'.$pages_text.'</span>';
            }
 
            echo '</div>';
 
        }
 
 
    }
 
 
    static function td_round_number($num, $tonearest) {
        return floor($num/$tonearest)*$tonearest;
    }
 
 
    //the default options
    static function pagenavi_init() {
        $pagenavi_options = array();
        $pagenavi_options['pages_text'] = __td('Page %CURRENT_PAGE% of %TOTAL_PAGES%');
        $pagenavi_options['current_text'] = '%PAGE_NUMBER%';
        $pagenavi_options['page_text'] = '%PAGE_NUMBER%';
        $pagenavi_options['first_text'] = __td('1');
        $pagenavi_options['last_text'] = __td('%TOTAL_PAGES%');
        if (is_rtl()) {
            $pagenavi_options['next_text'] = '<i class="td-icon-menu-right"></i>';
            $pagenavi_options['prev_text'] = '<i class="td-icon-menu-left"></i>';
        } else {
            $pagenavi_options['next_text'] = '<i class="td-icon-menu-right"></i>';
            $pagenavi_options['prev_text'] = '<i class="td-icon-menu-left"></i>';
        }
        $pagenavi_options['dotright_text'] = __td('...');
        $pagenavi_options['dotleft_text'] = __td('...');
 
 
        $pagenavi_options['num_pages'] = 3;
 
        $pagenavi_options['always_show'] = 0;
        $pagenavi_options['num_larger_page_numbers'] = 3;
        $pagenavi_options['larger_page_numbers_multiple'] = 1000;
 
        return $pagenavi_options;
    }
?

Поможете?
0
 Аватар для hardwaremaster
307 / 307 / 142
Регистрация: 12.02.2014
Сообщений: 1,165
Записей в блоге: 1
18.03.2015, 21:17
Так а что вам нужно? вместо "< 1 2 3 4 5 6 7 8 9 10 >" вывести просто "предыдущая - следующая"?

так найдите вызов функции в шаблоне и поменяйте его просто на что-то типа такого

PHP/HTML
1
2
3
4
5
<div class="navigation">
<div class="navleft"><?php previous_post_link('Предыдущий %link') ?></div>
<div class="navright"><?php next_post_link('%link Следующий') ?></div>
<div class="clear"></div>
</div>
0
24 / 24 / 10
Регистрация: 22.12.2012
Сообщений: 2,712
18.03.2015, 21:19  [ТС]
Тут шаблон не стандартный.
0
 Аватар для hardwaremaster
307 / 307 / 142
Регистрация: 12.02.2014
Сообщений: 1,165
Записей в блоге: 1
18.03.2015, 21:30
Цитата Сообщение от morda77 Посмотреть сообщение
Тут шаблон не стандартный.
И что?) это значит что он не поддерживает функции next_post_link и previous_post_link, или что?)
0
24 / 24 / 10
Регистрация: 22.12.2012
Сообщений: 2,712
18.03.2015, 23:47  [ТС]
Разобрался сам. Спасибо.
0
24 / 24 / 10
Регистрация: 22.12.2012
Сообщений: 2,712
20.03.2015, 10:05  [ТС]
В общем, задачка немного расширилась.

Есть код в файле td_module_single.php:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function get_post_pagination() {
        if (!$this->is_single) {
            return;
        }
 
 
        return wp_link_pages(array(
            'before' => '<div class="page-nav page-nav-post td-pb-padding-side">',
            'after' => '</div>',
            'link_before' => '<div>',
            'link_after' => '</div>',
            'echo' => false,
            'next_or_number'   => 'next',
            'nextpagelink'     => __('<div class="next">Next</div>'),
            'previouspagelink' => __('<div class="prev">Previous</div>'),
        ));
    }

И есть код в файле td_wp_booster_functions.php:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* Add prev and next links to a numbered link list - the pagination on single.
 */
// add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add');
function wp_link_pages_args_prevnext_add($args)
{
    global $page, $numpages, $more, $pagenow;
 
    if (!$args['next_or_number'] == 'next_and_number')
        return $args; # exit early
 
    $args['next_or_number'] = 'number'; # keep numbering for the main part
    if (!$more)
        return $args; # exit early
 
    if($page-1) # there is a previous page
        $args['before'] .= _wp_link_page($page-1)
            . $args['link_before']. $args['previouspagelink'] . $args['link_after'] . '</a>'
        ;
 
    if ($page<$numpages) # there is a next page
        $args['after'] = _wp_link_page($page+1)
            . $args['link_before'] . $args['nextpagelink'] . $args['link_after'] . '</a>'
            . $args['after']
        ;
 
    return $args;
}
Все это дает такой вид постраничной навигации: http://peekworthy.com/10-disne... t-about/2/
А теперь нужен такой: http://allrookie.com/the-10-be... history/3/
Подскажите, пожалуйста, как подредактировать для этого код.
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2015, 10:05
Помогаю со студенческими работами здесь

Как доработать онлайн проигрыватель в постраничной навигации???
Есть сайт с постраничной навигацией. Есть онлайн проигрыватель. Ссылка на проигрыватель: &lt;object width=&quot;150&quot;...

Как выровнять по центру цифры в постраничной навигации на сайте?
Суть моей проблемы проста. На сайте (движок wordpress) имеется постраничная навигация состоящая из двух кнопок (следующая страница,...

Как избавится от дублирования страниц в постраничной навигации в PHP
Здравствуйте. Подскажите как избавиться от дублирования тегов &quot;title&quot;, &quot;meta_d&quot;, &quot;meta_k&quot; в постраничной навигации. Адрес ссылки имеет...

Как исправить ошибку дизайна постраничной навигации на блоге Word Press
Приветствую всех форумчан... У меня есть блог на котором есть проблемма, которую самостоятель у меня решить не получается. Я не...

Апгрейд постраничной навигации...
Здраствуйте, вобщем такая ситуация.... есть постраничная навигация 1,2,3,4,5,6,7,8,9.... и так дофига... вобщем дело в том, что ее нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru