WPSEO_Replace_Vars::determine_pagenumbering()privateYoast 1.0

Determine the page numbering of the current post/page/cpt.

Метод класса: WPSEO_Replace_Vars{}

Хуков нет.

Возвращает

int|null.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->determine_pagenumbering( $request );
$request(строка)
Either 'nr'|'max' - whether to return the page number or the max number of pages.
По умолчанию: 'nr'

Код WPSEO_Replace_Vars::determine_pagenumbering() Yoast 22.4

private function determine_pagenumbering( $request = 'nr' ) {
	global $wp_query, $post;
	$max_num_pages = null;
	$page_number   = null;

	$max_num_pages = 1;

	if ( ! is_singular() ) {
		$page_number = get_query_var( 'paged' );
		if ( $page_number === 0 || $page_number === '' ) {
			$page_number = 1;
		}

		if ( ! empty( $wp_query->max_num_pages ) ) {
			$max_num_pages = $wp_query->max_num_pages;
		}
	}
	else {
		$page_number = get_query_var( 'page' );
		if ( $page_number === 0 || $page_number === '' ) {
			$page_number = 1;
		}

		if ( isset( $post->post_content ) ) {
			$max_num_pages = ( substr_count( $post->post_content, '<!--nextpage-->' ) + 1 );
		}
	}

	$return = null;

	switch ( $request ) {
		case 'nr':
			$return = $page_number;
			break;
		case 'max':
			$return = $max_num_pages;
			break;
	}

	return $return;
}