SILENT KILLERPanel

Current Path: > > home > codekrsu > ameliagraphics.com > > wp-includes >


Operation   : Linux premium131.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    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //home/codekrsu/ameliagraphics.com//wp-includes/

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 - -
admin-bar.php File 37106 bytes April 28 2025 19:12:28.
atomlib.php File 12078 bytes September 19 2024 01:20:16.
author-template.php File 18951 bytes May 14 2023 21:58:24.
block-bindings.php File 5594 bytes June 12 2024 16:44:14.
block-editor.php File 28797 bytes March 17 2025 17:03:30.
block-i18n.json File 316 bytes August 11 2021 13:08:02.
block-patterns.php File 13213 bytes November 30 2024 03:46:22.
block-template-utils.php File 61907 bytes March 07 2025 22:55:24.
block-template.php File 15356 bytes March 19 2025 02:08:26.
blocks.php File 113051 bytes July 08 2025 13:01:26.
bookmark-template.php File 12768 bytes March 20 2025 03:15:36.
bookmark.php File 15427 bytes March 23 2024 18:20:12.
cache-compat.php File 5969 bytes October 10 2022 22:22:12.
cache.php File 13474 bytes October 10 2022 22:22:12.
canonical.php File 34523 bytes August 23 2024 03:47:16.
capabilities.php File 42718 bytes October 15 2024 18:13:20.
category-template.php File 57003 bytes September 26 2023 04:27:12.
category.php File 12829 bytes January 25 2025 04:28:24.
class-IXR.php File 2616 bytes January 23 2025 00:48:26.
class-avif-info.php File 29615 bytes April 26 2024 19:02:14.
class-feed.php File 539 bytes October 01 2024 02:50:20.
class-http.php File 367 bytes June 17 2022 15:20:14.
class-json.php File 43684 bytes February 03 2023 18:35:20.
class-oembed.php File 401 bytes June 17 2022 15:20:14.
class-phpass.php File 6771 bytes September 18 2024 01:08:16.
class-phpmailer.php File 664 bytes July 21 2020 16:58:02.
class-pop3.php File 21121 bytes October 26 2024 00:26:20.
class-requests.php File 2237 bytes April 05 2023 17:12:26.
class-simplepie.php File 453 bytes October 01 2024 02:50:20.
class-smtp.php File 457 bytes January 26 2021 18:45:58.
class-snoopy.php File 37715 bytes February 03 2023 18:35:20.
class-walker-category-dropdown.php File 2469 bytes September 14 2023 16:46:20.
class-walker-category.php File 8477 bytes September 08 2023 13:32:24.
class-walker-comment.php File 14221 bytes March 18 2024 19:46:14.
class-walker-nav-menu.php File 12044 bytes January 22 2025 02:26:24.
class-walker-page-dropdown.php File 2710 bytes September 14 2023 16:46:20.
class-walker-page.php File 7612 bytes September 14 2023 16:46:20.
class-wp-admin-bar.php File 17874 bytes July 18 2024 04:52:18.
class-wp-ajax-response.php File 5266 bytes September 12 2022 19:47:14.
class-wp-application-passwords.php File 17099 bytes April 03 2025 18:38:28.
class-wp-block-bindings-registry.php File 8463 bytes September 23 2024 16:35:16.
class-wp-block-bindings-source.php File 2992 bytes September 03 2024 20:33:16.
class-wp-block-editor-context.php File 1350 bytes September 12 2022 19:47:14.
class-wp-block-list.php File 4757 bytes November 02 2023 04:04:24.
class-wp-block-metadata-registry.php File 11895 bytes March 06 2025 03:17:24.
class-wp-block-parser-block.php File 2555 bytes June 27 2023 04:45:38.
class-wp-block-parser-frame.php File 2017 bytes September 20 2024 05:55:36.
class-wp-block-parser.php File 11532 bytes May 03 2024 00:09:16.
class-wp-block-pattern-categories-registry.php File 5371 bytes September 12 2022 19:47:14.
class-wp-block-patterns-registry.php File 10783 bytes September 27 2024 13:20:18.
class-wp-block-styles-registry.php File 6403 bytes February 04 2025 13:42:26.
class-wp-block-supports.php File 5626 bytes March 04 2025 18:06:28.
class-wp-block-template.php File 2033 bytes September 20 2024 06:07:12.
class-wp-block-templates-registry.php File 7231 bytes January 31 2025 02:19:26.
class-wp-block-type-registry.php File 5013 bytes October 12 2023 16:34:34.
class-wp-block-type.php File 17265 bytes May 02 2024 04:01:10.
class-wp-block.php File 23041 bytes February 14 2025 23:38:22.
class-wp-classic-to-block-menu-converter.php File 4088 bytes August 21 2023 21:51:20.
class-wp-comment-query.php File 48395 bytes June 21 2024 21:26:14.
class-wp-comment.php File 9437 bytes February 11 2025 18:40:30.
class-wp-customize-control.php File 25851 bytes February 08 2025 17:00:20.
class-wp-customize-manager.php File 202593 bytes February 08 2025 21:00:20.
class-wp-customize-nav-menus.php File 57412 bytes March 07 2025 04:48:24.
class-wp-customize-panel.php File 10710 bytes January 23 2025 00:48:26.
class-wp-customize-section.php File 11209 bytes October 13 2024 23:09:12.
class-wp-customize-setting.php File 29962 bytes January 23 2025 00:48:26.
class-wp-customize-widgets.php File 72210 bytes January 22 2025 03:38:24.
class-wp-date-query.php File 35732 bytes November 27 2024 16:40:18.
class-wp-dependencies.php File 15139 bytes August 26 2024 03:48:14.
class-wp-dependency.php File 2627 bytes November 25 2022 20:12:16.
class-wp-duotone.php File 40783 bytes June 14 2024 16:18:12.
class-wp-editor.php File 72335 bytes April 25 2025 22:28:30.
class-wp-embed.php File 15931 bytes April 14 2025 18:31:24.
class-wp-error.php File 7502 bytes February 21 2023 21:39:20.
class-wp-exception.php File 253 bytes September 27 2024 23:28:14.
class-wp-fatal-error-handler.php File 8150 bytes October 22 2024 14:16:16.
class-wp-feed-cache-transient.php File 3176 bytes October 01 2024 02:50:20.
class-wp-feed-cache.php File 969 bytes October 01 2024 02:50:20.
class-wp-hook.php File 16000 bytes September 18 2023 16:41:18.
class-wp-http-cookie.php File 7389 bytes June 24 2023 21:17:24.
class-wp-http-curl.php File 12541 bytes September 21 2023 22:29:12.
class-wp-http-encoding.php File 6689 bytes June 22 2023 18:57:24.
class-wp-http-ixr-client.php File 3501 bytes September 12 2022 19:47:14.
class-wp-http-proxy.php File 5980 bytes June 22 2023 18:36:26.
class-wp-http-requests-hooks.php File 2022 bytes December 16 2022 02:32:18.
class-wp-http-requests-response.php File 4400 bytes October 11 2023 11:05:26.
class-wp-http-response.php File 2977 bytes September 12 2022 19:47:14.
class-wp-http-streams.php File 16859 bytes September 21 2023 22:29:12.
class-wp-http.php File 41579 bytes January 23 2025 00:48:26.
class-wp-image-editor-gd.php File 20162 bytes November 30 2024 04:48:16.
class-wp-image-editor-imagick.php File 34735 bytes March 19 2025 03:25:32.
class-wp-image-editor.php File 17527 bytes February 22 2025 01:25:24.
class-wp-list-util.php File 7443 bytes February 28 2024 03:38:16.
class-wp-locale-switcher.php File 6776 bytes January 08 2025 17:54:18.
class-wp-locale.php File 16883 bytes February 26 2025 03:40:22.
class-wp-matchesmapregex.php File 1828 bytes February 06 2024 06:25:14.
class-wp-meta-query.php File 30531 bytes April 23 2024 00:25:08.
class-wp-metadata-lazyloader.php File 6833 bytes May 11 2023 15:15:24.
class-wp-navigation-fallback.php File 9211 bytes October 06 2023 18:06:22.
class-wp-network-query.php File 19857 bytes June 21 2024 21:26:14.
class-wp-network.php File 12296 bytes September 14 2024 02:12:16.
class-wp-object-cache.php File 17524 bytes September 19 2024 16:12:16.
class-wp-oembed-controller.php File 6905 bytes March 06 2024 10:05:12.
class-wp-oembed.php File 31606 bytes June 26 2025 23:06:34.
class-wp-paused-extensions-storage.php File 5111 bytes September 03 2024 22:19:14.
class-wp-phpmailer.php File 3802 bytes January 08 2025 17:54:18.
class-wp-plugin-dependencies.php File 25315 bytes March 18 2025 02:40:26.
class-wp-post-type.php File 30680 bytes February 09 2025 16:09:22.
class-wp-post.php File 6488 bytes February 12 2025 23:11:26.
class-wp-query.php File 158023 bytes March 19 2025 03:34:26.
class-wp-recovery-mode-cookie-service.php File 6877 bytes October 04 2022 07:59:14.
class-wp-recovery-mode-email-service.php File 11183 bytes May 02 2023 19:45:22.
class-wp-recovery-mode-key-service.php File 4884 bytes February 17 2025 16:24:22.
class-wp-recovery-mode-link-service.php File 3463 bytes September 12 2022 19:47:14.
class-wp-recovery-mode.php File 11453 bytes February 23 2025 16:11:22.
class-wp-rewrite.php File 63688 bytes October 20 2024 03:54:18.
class-wp-role.php File 2523 bytes September 08 2023 13:32:24.
class-wp-roles.php File 8586 bytes September 03 2024 22:19:14.
class-wp-script-modules.php File 19463 bytes December 11 2024 20:20:18.
class-wp-scripts.php File 28344 bytes August 11 2024 03:00:14.
class-wp-session-tokens.php File 7319 bytes February 11 2025 16:14:22.
class-wp-simplepie-file.php File 3408 bytes October 01 2024 02:50:20.
class-wp-simplepie-sanitize-kses.php File 1910 bytes January 23 2025 00:48:26.
class-wp-site-query.php File 31625 bytes September 11 2024 16:08:20.
class-wp-site.php File 7454 bytes September 12 2022 19:47:14.
class-wp-speculation-rules.php File 7527 bytes February 19 2025 03:32:22.
class-wp-styles.php File 11010 bytes August 11 2024 03:00:14.
class-wp-tax-query.php File 19555 bytes February 17 2024 02:47:12.
class-wp-taxonomy.php File 18559 bytes March 27 2025 02:07:28.
class-wp-term-query.php File 40869 bytes October 31 2024 02:34:20.
class-wp-term.php File 5298 bytes September 12 2022 19:47:14.
class-wp-text-diff-renderer-inline.php File 979 bytes February 15 2024 00:27:10.
class-wp-text-diff-renderer-table.php File 18880 bytes January 23 2025 00:48:26.
class-wp-textdomain-registry.php File 10481 bytes November 20 2024 07:50:24.
class-wp-theme-json-data.php File 1809 bytes June 04 2024 15:55:14.
class-wp-theme-json-resolver.php File 35738 bytes November 04 2024 07:34:16.
class-wp-theme-json-schema.php File 7367 bytes June 06 2024 12:02:16.
class-wp-theme-json.php File 163545 bytes March 19 2025 22:46:30.
class-wp-theme.php File 65810 bytes April 08 2025 18:18:28.
class-wp-token-map.php File 28618 bytes July 20 2024 03:44:16.
class-wp-url-pattern-prefixer.php File 4802 bytes February 19 2025 03:32:22.
class-wp-user-meta-session-tokens.php File 2990 bytes January 09 2019 10:04:50.
class-wp-user-query.php File 43655 bytes December 19 2024 15:24:24.
class-wp-user-request.php File 2305 bytes February 17 2025 16:24:22.
class-wp-user.php File 22994 bytes March 04 2025 19:19:22.
class-wp-walker.php File 13322 bytes July 26 2024 11:56:14.
class-wp-widget-factory.php File 3347 bytes September 12 2022 19:47:14.
class-wp-widget.php File 18429 bytes November 02 2024 19:01:20.
class-wp-xmlrpc-server.php File 215444 bytes February 08 2025 21:00:20.
class-wp.php File 26318 bytes January 29 2025 23:12:26.
class-wpdb.php File 118284 bytes February 11 2025 16:14:22.
class.wp-dependencies.php File 373 bytes September 20 2022 18:17:12.
class.wp-scripts.php File 343 bytes September 20 2022 18:17:12.
class.wp-styles.php File 338 bytes September 20 2022 18:17:12.
comment-template.php File 103104 bytes July 05 2025 10:53:38.
comment.php File 131547 bytes March 12 2025 01:58:24.
compat.php File 16376 bytes February 11 2025 16:14:22.
cron.php File 42658 bytes February 15 2025 00:37:24.
date.php File 400 bytes June 17 2022 15:20:14.
default-constants.php File 11365 bytes October 01 2024 03:58:16.
default-filters.php File 36697 bytes March 25 2025 10:45:28.
default-widgets.php File 2295 bytes January 23 2025 00:48:26.
deprecated.php File 191563 bytes March 14 2025 03:00:32.
embed-template.php File 338 bytes June 17 2022 15:20:14.
embed.php File 38172 bytes January 24 2025 18:32:22.
error-protection.php File 4121 bytes May 02 2023 19:45:22.
feed-atom-comments.php File 5504 bytes March 04 2024 17:41:10.
feed-atom.php File 3121 bytes January 23 2025 00:48:26.
feed-rdf.php File 2668 bytes January 29 2020 05:45:18.
feed-rss.php File 1189 bytes January 29 2020 05:45:18.
feed-rss2-comments.php File 4136 bytes March 04 2024 17:41:10.
feed-rss2.php File 3799 bytes January 29 2020 05:45:18.
feed.php File 23411 bytes November 11 2024 22:50:18.
fonts.php File 9751 bytes October 24 2024 02:39:18.
formatting.php File 342921 bytes July 05 2025 10:35:32.
functions.php File 287546 bytes April 07 2025 02:29:28.
functions.wp-scripts.php File 14558 bytes May 27 2024 00:51:14.
functions.wp-styles.php File 8583 bytes May 27 2024 00:51:14.
general-template.php File 172498 bytes April 08 2025 06:01:30.
global-styles-and-settings.php File 21261 bytes February 14 2025 23:38:22.
http.php File 25312 bytes October 27 2024 23:05:18.
https-detection.php File 5857 bytes February 24 2025 18:43:24.
https-migration.php File 4741 bytes July 11 2023 02:38:26.
kses.php File 74472 bytes January 22 2025 03:59:18.
l10n.php File 68530 bytes January 28 2025 14:46:30.
link-template.php File 157801 bytes February 24 2025 18:43:24.
load.php File 56440 bytes February 11 2025 16:14:22.
locale.php File 162 bytes October 08 2019 21:19:04.
media-template.php File 63060 bytes February 18 2025 03:58:24.
media.php File 220496 bytes July 07 2025 21:09:42.
meta.php File 65243 bytes February 24 2025 02:53:26.
ms-blogs.php File 25845 bytes January 23 2025 00:48:26.
ms-default-constants.php File 4921 bytes June 14 2024 00:50:14.
ms-default-filters.php File 6636 bytes February 24 2023 06:23:20.
ms-deprecated.php File 21759 bytes April 12 2024 21:47:14.
ms-files.php File 2744 bytes April 17 2025 02:23:30.
ms-functions.php File 91582 bytes February 04 2025 00:52:24.
ms-load.php File 19883 bytes March 25 2024 21:19:18.
ms-network.php File 3782 bytes May 02 2023 15:26:24.
ms-settings.php File 4197 bytes January 23 2025 00:48:26.
ms-site.php File 41320 bytes January 17 2025 05:12:26.
nav-menu-template.php File 25990 bytes January 23 2025 00:48:26.
nav-menu.php File 44373 bytes August 05 2024 23:00:20.
option.php File 103065 bytes March 06 2025 03:59:22.
pluggable-deprecated.php File 6324 bytes February 04 2025 00:52:24.
pluggable.php File 122700 bytes February 28 2025 23:53:24.
plugin.php File 35465 bytes June 08 2023 11:54:22.
post-formats.php File 7102 bytes May 27 2024 20:29:16.
post-template.php File 68648 bytes February 04 2025 05:32:24.
post-thumbnail-template.php File 10879 bytes December 21 2024 04:35:24.
post.php File 291712 bytes March 25 2025 10:45:28.
query.php File 37035 bytes August 24 2023 13:01:16.
registration-functions.php File 200 bytes November 12 2020 16:17:08.
registration.php File 200 bytes November 12 2020 16:17:08.
rest-api.php File 100257 bytes March 29 2025 02:44:30.
revision.php File 30741 bytes January 28 2025 04:07:24.
rewrite.php File 19541 bytes September 18 2024 23:08:12.
robots-template.php File 5185 bytes April 06 2022 19:33:04.
rss-functions.php File 255 bytes November 17 2020 03:52:06.
rss.php File 23113 bytes September 19 2024 01:40:12.
script-loader.php File 133262 bytes April 25 2025 22:38:30.
script-modules.php File 7712 bytes October 13 2024 22:49:16.
session.php File 258 bytes February 06 2020 11:33:12.
shortcodes.php File 24051 bytes May 25 2024 07:04:12.
sitemaps.php File 3238 bytes May 15 2021 21:38:06.
speculative-loading.php File 8558 bytes February 28 2025 03:14:26.
spl-autoload-compat.php File 441 bytes November 12 2020 16:17:08.
style-engine.php File 7563 bytes May 03 2024 08:47:12.
taxonomy.php File 176227 bytes February 08 2025 16:44:24.
template-canvas.php File 544 bytes October 01 2023 04:22:28.
template-loader.php File 3012 bytes May 26 2020 13:37:10.
template.php File 24154 bytes February 22 2024 00:26:08.
theme-i18n.json File 1526 bytes January 08 2025 17:36:24.
theme-previews.php File 2832 bytes December 08 2023 11:32:24.
theme-templates.php File 6238 bytes February 17 2025 22:49:20.
theme.json File 8704 bytes June 12 2024 10:11:14.
theme.php File 134303 bytes March 18 2025 16:30:26.
update.php File 37503 bytes March 18 2025 02:40:26.
user.php File 175823 bytes March 04 2025 19:19:22.
vars.php File 6562 bytes January 23 2025 00:48:26.
version.php File 1090 bytes July 15 2025 19:09:38.
widgets.php File 70719 bytes January 25 2025 02:20:24.
wp-db.php File 445 bytes July 22 2022 02:45:12.
wp-diff.php File 799 bytes January 23 2025 00:48:26.

Reading File: //home/codekrsu/ameliagraphics.com//wp-includes//category.php

<?php
/**
 * Taxonomy API: Core category-specific functionality
 *
 * @package WordPress
 * @subpackage Taxonomy
 */

/**
 * Retrieves a list of category objects.
 *
 * If you set the 'taxonomy' argument to 'link_category', the link categories
 * will be returned instead.
 *
 * @since 2.1.0
 *
 * @see get_terms() Type of arguments that can be changed.
 *
 * @param string|array $args {
 *     Optional. Arguments to retrieve categories. See get_terms() for additional options.
 *
 *     @type string $taxonomy Taxonomy to retrieve terms for. Default 'category'.
 * }
 * @return array List of category objects.
 */
function get_categories( $args = '' ) {
	$defaults = array( 'taxonomy' => 'category' );
	$args     = wp_parse_args( $args, $defaults );

	/**
	 * Filters the taxonomy used to retrieve terms when calling get_categories().
	 *
	 * @since 2.7.0
	 *
	 * @param string $taxonomy Taxonomy to retrieve terms from.
	 * @param array  $args     An array of arguments. See get_terms().
	 */
	$args['taxonomy'] = apply_filters( 'get_categories_taxonomy', $args['taxonomy'], $args );

	// Back compat.
	if ( isset( $args['type'] ) && 'link' === $args['type'] ) {
		_deprecated_argument(
			__FUNCTION__,
			'3.0.0',
			sprintf(
				/* translators: 1: "type => link", 2: "taxonomy => link_category" */
				__( '%1$s is deprecated. Use %2$s instead.' ),
				'<code>type => link</code>',
				'<code>taxonomy => link_category</code>'
			)
		);
		$args['taxonomy'] = 'link_category';
	}

	$categories = get_terms( $args );

	if ( is_wp_error( $categories ) ) {
		$categories = array();
	} else {
		$categories = (array) $categories;
		foreach ( array_keys( $categories ) as $k ) {
			_make_cat_compat( $categories[ $k ] );
		}
	}

	return $categories;
}

/**
 * Retrieves category data given a category ID or category object.
 *
 * If you pass the $category parameter an object, which is assumed to be the
 * category row object retrieved the database. It will cache the category data.
 *
 * If you pass $category an integer of the category ID, then that category will
 * be retrieved from the database, if it isn't already cached, and pass it back.
 *
 * If you look at get_term(), then both types will be passed through several
 * filters and finally sanitized based on the $filter parameter value.
 *
 * @since 1.5.1
 *
 * @param int|object $category Category ID or category row object.
 * @param string     $output   Optional. The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which
 *                             correspond to a WP_Term object, an associative array, or a numeric array,
 *                             respectively. Default OBJECT.
 * @param string     $filter   Optional. How to sanitize category fields. Default 'raw'.
 * @return WP_Term|array|WP_Error|null Category data in type defined by $output parameter.
 *                                     Returns a WP_Term object with backwards compatible property aliases filled in.
 *                                     WP_Error if $category is empty, null if it does not exist.
 */
function get_category( $category, $output = OBJECT, $filter = 'raw' ) {
	$category = get_term( $category, 'category', $output, $filter );

	if ( is_wp_error( $category ) ) {
		return $category;
	}

	_make_cat_compat( $category );

	return $category;
}

/**
 * Retrieves a category based on URL containing the category slug.
 *
 * Breaks the $category_path parameter up to get the category slug.
 *
 * Tries to find the child path and will return it. If it doesn't find a
 * match, then it will return the first category matching slug, if $full_match,
 * is set to false. If it does not, then it will return null.
 *
 * It is also possible that it will return a WP_Error object on failure. Check
 * for it when using this function.
 *
 * @since 2.1.0
 *
 * @param string $category_path URL containing category slugs.
 * @param bool   $full_match    Optional. Whether full path should be matched.
 * @param string $output        Optional. The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which
 *                              correspond to a WP_Term object, an associative array, or a numeric array,
 *                              respectively. Default OBJECT.
 * @return WP_Term|array|WP_Error|null Type is based on $output value.
 */
function get_category_by_path( $category_path, $full_match = true, $output = OBJECT ) {
	$category_path  = rawurlencode( urldecode( $category_path ) );
	$category_path  = str_replace( '%2F', '/', $category_path );
	$category_path  = str_replace( '%20', ' ', $category_path );
	$category_paths = '/' . trim( $category_path, '/' );
	$leaf_path      = sanitize_title( basename( $category_paths ) );
	$category_paths = explode( '/', $category_paths );
	$full_path      = '';

	foreach ( (array) $category_paths as $pathdir ) {
		$full_path .= ( '' !== $pathdir ? '/' : '' ) . sanitize_title( $pathdir );
	}

	$categories = get_terms(
		array(
			'taxonomy' => 'category',
			'get'      => 'all',
			'slug'     => $leaf_path,
		)
	);

	if ( empty( $categories ) ) {
		return;
	}

	foreach ( $categories as $category ) {
		$path        = '/' . $leaf_path;
		$curcategory = $category;

		while ( ( 0 !== $curcategory->parent ) && ( $curcategory->parent !== $curcategory->term_id ) ) {
			$curcategory = get_term( $curcategory->parent, 'category' );

			if ( is_wp_error( $curcategory ) ) {
				return $curcategory;
			}

			$path = '/' . $curcategory->slug . $path;
		}

		if ( $path === $full_path ) {
			$category = get_term( $category->term_id, 'category', $output );
			_make_cat_compat( $category );

			return $category;
		}
	}

	// If full matching is not required, return the first cat that matches the leaf.
	if ( ! $full_match ) {
		$category = get_term( reset( $categories )->term_id, 'category', $output );
		_make_cat_compat( $category );

		return $category;
	}
}

/**
 * Retrieves a category object by category slug.
 *
 * @since 2.3.0
 *
 * @param string $slug The category slug.
 * @return object|false Category data object on success, false if not found.
 */
function get_category_by_slug( $slug ) {
	$category = get_term_by( 'slug', $slug, 'category' );

	if ( $category ) {
		_make_cat_compat( $category );
	}

	return $category;
}

/**
 * Retrieves the ID of a category from its name.
 *
 * @since 1.0.0
 *
 * @param string $cat_name Category name.
 * @return int Category ID on success, 0 if the category doesn't exist.
 */
function get_cat_ID( $cat_name ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid
	$cat = get_term_by( 'name', $cat_name, 'category' );

	if ( $cat ) {
		return $cat->term_id;
	}

	return 0;
}

/**
 * Retrieves the name of a category from its ID.
 *
 * @since 1.0.0
 *
 * @param int $cat_id Category ID.
 * @return string Category name, or an empty string if the category doesn't exist.
 */
function get_cat_name( $cat_id ) {
	$cat_id   = (int) $cat_id;
	$category = get_term( $cat_id, 'category' );

	if ( ! $category || is_wp_error( $category ) ) {
		return '';
	}

	return $category->name;
}

/**
 * Checks if a category is an ancestor of another category.
 *
 * You can use either an ID or the category object for both parameters.
 * If you use an integer, the category will be retrieved.
 *
 * @since 2.1.0
 *
 * @param int|object $cat1 ID or object to check if this is the parent category.
 * @param int|object $cat2 The child category.
 * @return bool Whether $cat2 is child of $cat1.
 */
function cat_is_ancestor_of( $cat1, $cat2 ) {
	return term_is_ancestor_of( $cat1, $cat2, 'category' );
}

/**
 * Sanitizes category data based on context.
 *
 * @since 2.3.0
 *
 * @param object|array $category Category data.
 * @param string       $context  Optional. Default 'display'.
 * @return object|array Same type as $category with sanitized data for safe use.
 */
function sanitize_category( $category, $context = 'display' ) {
	return sanitize_term( $category, 'category', $context );
}

/**
 * Sanitizes data in single category key field.
 *
 * @since 2.3.0
 *
 * @param string $field   Category key to sanitize.
 * @param mixed  $value   Category value to sanitize.
 * @param int    $cat_id  Category ID.
 * @param string $context What filter to use, 'raw', 'display', etc.
 * @return mixed Value after $value has been sanitized.
 */
function sanitize_category_field( $field, $value, $cat_id, $context ) {
	return sanitize_term_field( $field, $value, $cat_id, 'category', $context );
}

/* Tags */

/**
 * Retrieves all post tags.
 *
 * @since 2.3.0
 *
 * @param string|array $args {
 *     Optional. Arguments to retrieve tags. See get_terms() for additional options.
 *
 *     @type string $taxonomy Taxonomy to retrieve terms for. Default 'post_tag'.
 * }
 * @return WP_Term[]|int|WP_Error Array of 'post_tag' term objects, a count thereof,
 *                                or WP_Error if any of the taxonomies do not exist.
 */
function get_tags( $args = '' ) {
	$defaults = array( 'taxonomy' => 'post_tag' );
	$args     = wp_parse_args( $args, $defaults );

	$tags = get_terms( $args );

	if ( empty( $tags ) ) {
		$tags = array();
	} else {
		/**
		 * Filters the array of term objects returned for the 'post_tag' taxonomy.
		 *
		 * @since 2.3.0
		 *
		 * @param WP_Term[]|int|WP_Error $tags Array of 'post_tag' term objects, a count thereof,
		 *                                     or WP_Error if any of the taxonomies do not exist.
		 * @param array                  $args An array of arguments. See {@see get_terms()}.
		 */
		$tags = apply_filters( 'get_tags', $tags, $args );
	}

	return $tags;
}

/**
 * Retrieves a post tag by tag ID or tag object.
 *
 * If you pass the $tag parameter an object, which is assumed to be the tag row
 * object retrieved from the database, it will cache the tag data.
 *
 * If you pass $tag an integer of the tag ID, then that tag will be retrieved
 * from the database, if it isn't already cached, and passed back.
 *
 * If you look at get_term(), both types will be passed through several filters
 * and finally sanitized based on the $filter parameter value.
 *
 * @since 2.3.0
 *
 * @param int|WP_Term|object $tag    A tag ID or object.
 * @param string             $output Optional. The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which
 *                                   correspond to a WP_Term object, an associative array, or a numeric array,
 *                                   respectively. Default OBJECT.
 * @param string             $filter Optional. How to sanitize tag fields. Default 'raw'.
 * @return WP_Term|array|WP_Error|null Tag data in type defined by $output parameter.
 *                                     WP_Error if $tag is empty, null if it does not exist.
 */
function get_tag( $tag, $output = OBJECT, $filter = 'raw' ) {
	return get_term( $tag, 'post_tag', $output, $filter );
}

/* Cache */

/**
 * Removes the category cache data based on ID.
 *
 * @since 2.1.0
 *
 * @param int $id Category ID
 */
function clean_category_cache( $id ) {
	clean_term_cache( $id, 'category' );
}

/**
 * Updates category structure to old pre-2.3 from new taxonomy structure.
 *
 * This function was added for the taxonomy support to update the new category
 * structure with the old category one. This will maintain compatibility with
 * plugins and themes which depend on the old key or property names.
 *
 * The parameter should only be passed a variable and not create the array or
 * object inline to the parameter. The reason for this is that parameter is
 * passed by reference and PHP will fail unless it has the variable.
 *
 * There is no return value, because everything is updated on the variable you
 * pass to it. This is one of the features with using pass by reference in PHP.
 *
 * @since 2.3.0
 * @since 4.4.0 The `$category` parameter now also accepts a WP_Term object.
 * @access private
 *
 * @param array|object|WP_Term $category Category row object or array.
 */
function _make_cat_compat( &$category ) {
	if ( is_object( $category ) && ! is_wp_error( $category ) ) {
		$category->cat_ID               = $category->term_id;
		$category->category_count       = $category->count;
		$category->category_description = $category->description;
		$category->cat_name             = $category->name;
		$category->category_nicename    = $category->slug;
		$category->category_parent      = $category->parent;
	} elseif ( is_array( $category ) && isset( $category['term_id'] ) ) {
		$category['cat_ID']               = &$category['term_id'];
		$category['category_count']       = &$category['count'];
		$category['category_description'] = &$category['description'];
		$category['cat_name']             = &$category['name'];
		$category['category_nicename']    = &$category['slug'];
		$category['category_parent']      = &$category['parent'];
	}
}

SILENT KILLER Tool