Intereting Posts
как отображать описание woocomerce каждой категории в wordpress? Штрих-код для показа дочерних страниц После клонирования моей базы данных WordPress на другой сервер я не могу войти в систему Использование другого шаблона в пользовательских таксономии для одностраничных страниц архива Как изменить определенные части содержимого сообщения в WordPress Как вы загружаете WordPress из внешнего скрипта при использовании MultiSite? Как обновить все сообщения сразу? Не показывать старый перенесенный контент на веб-сайте Инкремент публикует комментарии ежедневно Множественная база базового слизняка на странице архива категорий Как добавить социальные кнопки, такие как facebook и twitter в нижнем колонтитуле темы? Добавление кнопок в wp-admin / edit-comments Не можете понять, как получить пространство вокруг изображения? Поверните галерею коротких штрихов в карусель в WordPress 4.4 Сортировать должности по годам

Сделать текущую / активную страницу номер ссылки (WP_LINK_PAGES)

С помощью wp_link_pages по умолчанию текущий / активный номер страницы не является ссылкой. Я хотел бы найти код / ​​hack, который превращает текущую / активную страницу в ссылку вверху страницы.

Я уже использую специальный код для wp_link_pages, который можно найти ниже:

<?php wp_link_pages(array( 'before' => '<p class="pagelinks">' . __(''), 'after' => '</p>', 'next_or_number' => 'next_and_number', # activate parameter overloading 'nextpagelink' => __('Next'), 'previouspagelink' => __('Previous'), 'pagelink' => '%', 'echo' => 1 ) ); 

В моих функциях:

 // Custom Next/Previous Page add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add'); /** * Add prev and next links to a numbered link list */ 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; } ?> 

Solutions Collecting From Web of "Сделать текущую / активную страницу номер ссылки (WP_LINK_PAGES)"

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

 function custom_link_pages($args = '') { $defaults = array( 'before' => '<p>' . __('Pages:'), 'after' => '</p>', 'link_before' => '', 'link_after' => '', 'next_or_number' => 'number', 'nextpagelink' => __('Next page'), 'previouspagelink' => __('Previous page'), 'pagelink' => '%', 'echo' => 1 ); $r = wp_parse_args( $args, $defaults ); $r = apply_filters( 'wp_link_pages_args', $r ); extract( $r, EXTR_SKIP ); global $page, $numpages, $multipage, $more, $pagenow; $output = ''; if ( $multipage ) { if ( 'number' == $next_or_number ) { $output .= $before; for ( $i = 1; $i < ($numpages+1); $i = $i + 1 ) { $j = str_replace('%',$i,$pagelink); $output .= ' '; if ( ($i != $page) || ((!$more) && ($page==1)) ) { $output .= _wp_link_page($i); } elseif ( $i == $page ) { $output .= '<a href="#">'; } $output .= $link_before . $j . $link_after; if ( ($i != $page) || ( $i == $page ) || ((!$more) && ($page==1)) ) $output .= '</a>'; } $output .= $after; } else { if ( $more ) { $output .= $before; $i = $page - 1; if ( $i && $more ) { $output .= _wp_link_page($i); $output .= $link_before. $previouspagelink . $link_after . '</a>'; } $i = $page + 1; if ( $i <= $numpages && $more ) { $output .= _wp_link_page($i); $output .= $link_before. $nextpagelink . $link_after . '</a>'; } $output .= $after; } } } if ( $echo ) echo $output; return $output; } 

Вы можете использовать эту функцию так же, как wp_link_pages() .

РЕДАКТИРОВАТЬ

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

 // Custom Next/Previous Page add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add'); /** * Add prev and next links to a numbered link list */ 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; } 

И чтобы вызвать разбивку на страницы, вы поместите в шаблон или цикл.

 custom_link_pages(array( 'before' => '<p class="pagelinks">' . __(''), 'after' => '</p>', 'next_or_number' => 'next_and_number', # activate parameter overloading 'nextpagelink' => __('Next'), 'previouspagelink' => __('Previous'), 'pagelink' => '%', 'echo' => 1 ) ); 

Простым способом, который я использую сейчас, является использование «link_before» и «link_after» как часть аргументов wp_link_pages. Затем вы можете обернуть каждое число, в том числе активное, в тег, а затем создать соответствующий стиль.