✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server366.web-hosting.com ​🇻​♯➤ 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 67.223.118.204 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/builxejc/public_html/wp-content/plugins/wordpress-seo/src/helpers//pagination-helper.php
<?php

namespace Yoast\WP\SEO\Helpers;

use Yoast\WP\SEO\Wrappers\WP_Query_Wrapper;
use Yoast\WP\SEO\Wrappers\WP_Rewrite_Wrapper;

/**
 * A helper object for pagination.
 *
 * Used for the canonical URL and the rel "next" and "prev" meta tags.
 */
class Pagination_Helper {

	/**
	 * Holds the WP rewrite wrapper instance.
	 *
	 * @var WP_Rewrite_Wrapper WP_Rewrite wrapper.
	 */
	protected $wp_rewrite_wrapper;

	/**
	 * Holds the WP query wrapper instance.
	 *
	 * @var WP_Query_Wrapper WP_Query wrapper.
	 */
	protected $wp_query_wrapper;

	/**
	 * Pagination_Helper constructor.
	 *
	 * @param WP_Rewrite_Wrapper $wp_rewrite_wrapper The rewrite wrapper.
	 * @param WP_Query_Wrapper   $wp_query_wrapper   The query wrapper.
	 */
	public function __construct( WP_Rewrite_Wrapper $wp_rewrite_wrapper, WP_Query_Wrapper $wp_query_wrapper ) {
		$this->wp_rewrite_wrapper = $wp_rewrite_wrapper;
		$this->wp_query_wrapper   = $wp_query_wrapper;
	}

	/**
	 * Checks whether adjacent rel links are disabled.
	 *
	 * @return bool Whether adjacent rel links are disabled or not.
	 */
	public function is_rel_adjacent_disabled() {
		/**
		 * Filter: 'wpseo_disable_adjacent_rel_links' - Allows disabling of Yoast adjacent links if this is being handled by other code.
		 *
		 * @param bool $links_generated Indicates if other code has handled adjacent links.
		 */
		return \apply_filters( 'wpseo_disable_adjacent_rel_links', false );
	}

	/**
	 * Builds a paginated URL.
	 *
	 * @param string $url                   The un-paginated URL of the current archive.
	 * @param string $page                  The page number to add on to $url for the $link tag.
	 * @param bool   $add_pagination_base   Optional. Whether to add the pagination base (`page`) to the url.
	 * @param string $pagination_query_name Optional. The name of the query argument that holds the current page.
	 *
	 * @return string The paginated URL.
	 */
	public function get_paginated_url( $url, $page, $add_pagination_base = true, $pagination_query_name = 'page' ) {
		$wp_rewrite = $this->wp_rewrite_wrapper->get();

		$key_query_loop = $this->get_key_query_loop();
		if ( $key_query_loop ) {
			$pagination_query_name = $key_query_loop;
		}

		if ( $wp_rewrite->using_permalinks() && ! $key_query_loop ) {
			$url_parts      = \wp_parse_url( $url );
			$has_url_params = \array_key_exists( 'query', $url_parts );

			if ( $has_url_params ) {
				// We need to first remove the query params, before potentially adding the pagination parts.
				\wp_parse_str( $url_parts['query'], $query_parts );

				$url = \trailingslashit( \remove_query_arg( \array_keys( $query_parts ), $url ) );

				if ( $add_pagination_base ) {
					$url .= \trailingslashit( $wp_rewrite->pagination_base );
				}

				// We can now re-add the query params, after appending the last pagination parts.
				return \add_query_arg( $query_parts, \user_trailingslashit( $url . $page ) );
			}

			$url = \trailingslashit( $url );
			if ( $add_pagination_base ) {
				$url .= \trailingslashit( $wp_rewrite->pagination_base );
			}

			return \user_trailingslashit( $url . $page );
		}

		return \add_query_arg( $pagination_query_name, $page, \user_trailingslashit( $url ) );
	}

	/**
	 * Gets the number of archive pages.
	 *
	 * @return int The number of archive pages.
	 */
	public function get_number_of_archive_pages() {
		$wp_query = $this->wp_query_wrapper->get_query();

		return (int) $wp_query->max_num_pages;
	}

	/**
	 * Returns the current page for paged archives.
	 *
	 * @return int The current archive page.
	 */
	public function get_current_archive_page_number() {
		$wp_query    = $this->wp_query_wrapper->get_main_query();
		$page_number = (int) $wp_query->get( 'paged' );
		if ( $page_number > 1 ) {
			return $page_number;
		}

		$query_loop_page_number = $this->get_page_number_from_query_loop();

		if ( $query_loop_page_number ) {
			return $query_loop_page_number;
		}
		return 0;
	}

	/**
	 * Returns the current page for paged post types.
	 *
	 * @return int The current post page.
	 */
	public function get_current_post_page_number() {
		$wp_query = $this->wp_query_wrapper->get_main_query();

		$query_loop_page_number = $this->get_page_number_from_query_loop();

		if ( $query_loop_page_number ) {
			return $query_loop_page_number;
		}

		return (int) $wp_query->get( 'page' );
	}

	/**
	 * Returns the current page number.
	 *
	 * @return int The current page number.
	 */
	public function get_current_page_number() {
		// Get the page number for an archive page.
		$page_number = \get_query_var( 'paged', 1 );
		if ( $page_number > 1 ) {
			return $page_number;
		}

		$query_loop_page_number = $this->get_page_number_from_query_loop();

		if ( $query_loop_page_number ) {
			return $query_loop_page_number;
		}

		// Get the page number for a page in a paginated post.
		return \get_query_var( 'page', 1 );
	}

	/**
	 * Returns the key of the query loop.
	 *
	 * @return string The key of the query loop.
	 */
	public function get_key_query_loop() {
		$regex_pattern = '/^query-\d+-page$/';
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- not form data.
		foreach ( $_GET as $key => $value ) {
			if ( \preg_match( $regex_pattern, $key ) ) {
				return $key;
			}
		}
		return '';
	}

	/**
	 * Returns the page number from the query loop.
	 *
	 * @return string The page number from the query loop.
	 */
	public function get_page_number_from_query_loop() {
		$key_query_loop = $this->get_key_query_loop();

		if ( $key_query_loop ) {
			// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated,WordPress.Security.NonceVerification.Recommended -- Validated in get_key_query_loop().
			$page_number = (int) $_GET[ $key_query_loop ];
			if ( $page_number > 1 ) {
				return $page_number;
			}
		}
		return '';
	}
}


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
open-graph
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
schema
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
twitter
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
aioseo-helper.php
1.236 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644
asset-helper.php
2.512 KB
5 Mar 2024 5.08 PM
builxejc / builxejc
0644
attachment-cleanup-helper.php
2.24 KB
7 Feb 2023 2.53 PM
builxejc / builxejc
0644
author-archive-helper.php
5.249 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644
blocks-helper.php
2.322 KB
29 Nov 2022 7.15 PM
builxejc / builxejc
0644
capability-helper.php
2.066 KB
1 Sep 2020 4.27 PM
builxejc / builxejc
0644
crawl-cleanup-helper.php
8.1 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
curl-helper.php
0.64 KB
1 Sep 2022 10.45 AM
builxejc / builxejc
0644
current-page-helper.php
15.633 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
date-helper.php
3.133 KB
21 Dec 2021 3.29 PM
builxejc / builxejc
0644
environment-helper.php
0.774 KB
29 Nov 2022 7.15 PM
builxejc / builxejc
0644
first-time-configuration-notice-helper.php
5.357 KB
2 Dec 2025 6.31 PM
builxejc / builxejc
0644
home-url-helper.php
0.665 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
image-helper.php
11.691 KB
24 Sep 2024 1.30 PM
builxejc / builxejc
0644
import-cursor-helper.php
1.359 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644
import-helper.php
0.699 KB
5 Apr 2022 5.50 PM
builxejc / builxejc
0644
indexable-helper.php
9.237 KB
8 Oct 2025 6.12 PM
builxejc / builxejc
0644
indexable-to-postmeta-helper.php
6.751 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644
indexing-helper.php
12.688 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
language-helper.php
2.652 KB
10 Jan 2023 5.05 PM
builxejc / builxejc
0644
lock-helper.php
2.84 KB
12 May 2026 4.03 PM
builxejc / builxejc
0644
meta-helper.php
2.912 KB
25 Jan 2022 3.16 PM
builxejc / builxejc
0644
notification-helper.php
2.009 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
options-helper.php
4.646 KB
7 Jan 2026 4.32 PM
builxejc / builxejc
0644
pagination-helper.php
5.679 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644
permalink-helper.php
1.603 KB
4 Feb 2026 7.42 PM
builxejc / builxejc
0644
post-helper.php
5.423 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644
post-type-helper.php
7.178 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
primary-term-helper.php
1.365 KB
19 Jan 2024 3.31 PM
builxejc / builxejc
0644
product-helper.php
1.077 KB
8 Aug 2023 4.52 PM
builxejc / builxejc
0644
redirect-helper.php
1.727 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
require-file-helper.php
0.318 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644
robots-helper.php
1.735 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644
robots-txt-helper.php
3.396 KB
14 Apr 2026 2.10 PM
builxejc / builxejc
0644
route-helper.php
0.678 KB
2 Dec 2025 6.31 PM
builxejc / builxejc
0644
sanitization-helper.php
1.031 KB
25 Jan 2022 3.16 PM
builxejc / builxejc
0644
score-icon-helper.php
2.779 KB
9 May 2023 1.01 PM
builxejc / builxejc
0644
short-link-helper.php
3.522 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644
site-helper.php
0.553 KB
22 Mar 2021 5.43 PM
builxejc / builxejc
0644
social-profiles-helper.php
10.733 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
string-helper.php
1.189 KB
25 Jan 2022 3.16 PM
builxejc / builxejc
0644
taxonomy-helper.php
4.98 KB
24 Jan 2023 3.07 PM
builxejc / builxejc
0644
url-helper.php
8.129 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
user-helper.php
3.932 KB
3 Dec 2024 4.05 PM
builxejc / builxejc
0644
wincher-helper.php
2.509 KB
13 Jun 2023 2.02 PM
builxejc / builxejc
0644
woocommerce-helper.php
1.271 KB
17 Feb 2026 5.17 PM
builxejc / builxejc
0644
wordpress-helper.php
0.5 KB
7 Jul 2021 6.45 PM
builxejc / builxejc
0644
wpdb-helper.php
0.915 KB
7 Apr 2025 1.46 PM
builxejc / builxejc
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF