Intereting Posts
Как получить атрибут заказа страницы Отображение пользовательских типов сообщений в интерфейсе Используйте wp-load () и wp_head (), чтобы отобразить заголовок страницы вне WordPress Загрузка изображения и другие параметры в одной и той же форме настроек плагина? Как я могу сделать свои собственные шаблоны уважающими разрешения? Сохранить значение по умолчанию для пустых или отсутствующих сообщений Когда следует использовать add_rewrite_tag ()? После обновления wordpress 4.5 моя домашняя страница и изображения не отображаются Добавление флажка в настройку темы Сортировка определенной таксономии по дате архива с использованием URL-адреса Использовать wpdb-> подготовить для имени `order by` Как исправить поле «Путь» при редактировании страниц через панель мониторинга? Shortcode не показывает $ content в правильном месте Как проверить, является ли текущая страница родительским элементом или дочерним элементом в данном меню полный блог работает отлично, но post-new.php бросает 404

Сделать текущую / активную страницу номер ссылки (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. Затем вы можете обернуть каждое число, в том числе активное, в тег, а затем создать соответствующий стиль.