检索页码的链接。

原型

get_pagenum_link( int $pagenum = 1, bool $escape = true )

参数

$pagenum (int) (Optional)  页面ID。

$escape (bool) (Optional)  是否使用esc_url()转义显示的URL。默认为true。否则,使用esc_url_raw()准备URL。

返回值

(string)  给定页码的链接URL。

源文件

路径:wp-includes/link-template.php

<?php
...
function get_pagenum_link($pagenum = 1, $escape = true ) {
	global $wp_rewrite;
	$pagenum = (int) $pagenum;
	$request = remove_query_arg( 'paged' );
	$home_root = parse_url(home_url());
	$home_root = ( isset($home_root['path']) ) ? $home_root['path'] : '';
	$home_root = preg_quote( $home_root, '|' );
	$request = preg_replace('|^'. $home_root . '|i', '', $request);
	$request = preg_replace('|^/+|', '', $request);
	if ( !$wp_rewrite->using_permalinks() || is_admin() ) {
		$base = trailingslashit( get_bloginfo( 'url' ) );
		if ( $pagenum > 1 ) {
			$result = add_query_arg( 'paged', $pagenum, $base . $request );
		} else {
			$result = $base . $request;
		}
	} else {
		$qs_regex = '|?.*?$|';
		preg_match( $qs_regex, $request, $qs_match );
		if ( !empty( $qs_match[0] ) ) {
			$query_string = $qs_match[0];
			$request = preg_replace( $qs_regex, '', $request );
		} else {
			$query_string = '';
		}
		$request = preg_replace( "|$wp_rewrite->pagination_base/d+/?$|", '', $request);
		$request = preg_replace( '|^' . preg_quote( $wp_rewrite->index, '|' ) . '|i', '', $request);
		$request = ltrim($request, '/');
		$base = trailingslashit( get_bloginfo( 'url' ) );
		if ( $wp_rewrite->using_index_permalinks() && ( $pagenum > 1 || '' != $request ) )
			$base .= $wp_rewrite->index . '/';
		if ( $pagenum > 1 ) {
			$request = ( ( !empty( $request ) ) ? trailingslashit( $request ) : $request ) . user_trailingslashit( $wp_rewrite->pagination_base . "/" . $pagenum, 'paged' );
		}
		$result = $base . $request . $query_string;
	}
	/**
	 * Filters the page number link for the current request.
	 *
	 * @since 2.5.0
	 *
	 * @param string $result The page number link.
	 */
	$result = apply_filters( 'get_pagenum_link', $result );
	if ( $escape )
		return esc_url( $result );
	else
		return esc_url_raw( $result );
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/get_pagenum_link/