Current Dir: /home/webdevt/www/demo3/wp-includes/

[DIR]  abilities-api [ delete | rename ]
[DIR]  assets [ delete | rename ]
[DIR]  block-bindings [ delete | rename ]
[DIR]  block-patterns [ delete | rename ]
[DIR]  block-supports [ delete | rename ]
[DIR]  blocks [ delete | rename ]
[DIR]  certificates [ delete | rename ]
[DIR]  css [ delete | rename ]
[DIR]  customize [ delete | rename ]
[DIR]  fonts [ delete | rename ]
[DIR]  html-api [ delete | rename ]
[DIR]  ID3 [ delete | rename ]
[DIR]  images [ delete | rename ]
[DIR]  interactivity-api [ delete | rename ]
[DIR]  IXR [ delete | rename ]
[DIR]  js [ delete | rename ]
[DIR]  l10n [ delete | rename ]
[DIR]  php-compat [ delete | rename ]
[DIR]  PHPMailer [ delete | rename ]
[DIR]  pomo [ delete | rename ]
[DIR]  Requests [ delete | rename ]
[DIR]  rest-api [ delete | rename ]
[DIR]  SimplePie [ delete | rename ]
[DIR]  sitemaps [ delete | rename ]
[DIR]  sodium_compat [ delete | rename ]
[DIR]  style-engine [ delete | rename ]
[DIR]  Text [ delete | rename ]
[DIR]  theme-compat [ delete | rename ]
[DIR]  widgets [ delete | rename ]
[FILE] abilities-api.php [ edit | delete | rename ]
[FILE] abilities.php [ edit | delete | rename ]
[FILE] atomlib.php [ edit | delete | rename ]
[FILE] author-template.php [ edit | delete | rename ]
[FILE] block-bindings.php [ edit | delete | rename ]
[FILE] block-i18n.json [ edit | delete | rename ]
[FILE] block-patterns.php [ edit | delete | rename ]
[FILE] block-template-utils.php [ edit | delete | rename ]
[FILE] block-template.php [ edit | delete | rename ]
[FILE] blocks.php [ edit | delete | rename ]
[FILE] bookmark-template.php [ edit | delete | rename ]
[FILE] cache-compat.php [ edit | delete | rename ]
[FILE] cache.php [ edit | delete | rename ]
[FILE] canonical.php [ edit | delete | rename ]
[FILE] capabilities.php [ edit | delete | rename ]
[FILE] category-template.php [ edit | delete | rename ]
[FILE] category.php [ edit | delete | rename ]
[FILE] class-avif-info.php [ edit | delete | rename ]
[FILE] class-feed.php [ edit | delete | rename ]
[FILE] class-http.php [ edit | delete | rename ]
[FILE] class-IXR.php [ edit | delete | rename ]
[FILE] class-json.php [ edit | delete | rename ]
[FILE] class-oembed.php [ edit | delete | rename ]
[FILE] class-phpass.php [ edit | delete | rename ]
[FILE] class-phpmailer.php [ edit | delete | rename ]
[FILE] class-pop3.php [ edit | delete | rename ]
[FILE] class-requests.php [ edit | delete | rename ]
[FILE] class-simplepie.php [ edit | delete | rename ]
[FILE] class-smtp.php [ edit | delete | rename ]
[FILE] class-snoopy.php [ edit | delete | rename ]
[FILE] class-walker-category-dropdown.php [ edit | delete | rename ]
[FILE] class-walker-category.php [ edit | delete | rename ]
[FILE] class-walker-comment.php [ edit | delete | rename ]
[FILE] class-walker-nav-menu.php [ edit | delete | rename ]
[FILE] class-walker-page-dropdown.php [ edit | delete | rename ]
[FILE] class-walker-page.php [ edit | delete | rename ]
[FILE] class-wp-admin-bar.php [ edit | delete | rename ]
[FILE] class-wp-ajax-response.php [ edit | delete | rename ]
[FILE] class-wp-application-passwords.php [ edit | delete | rename ]
[FILE] class-wp-block-bindings-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-bindings-source.php [ edit | delete | rename ]
[FILE] class-wp-block-editor-context.php [ edit | delete | rename ]
[FILE] class-wp-block-list.php [ edit | delete | rename ]
[FILE] class-wp-block-metadata-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-pattern-categories-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-patterns-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-processor.php [ edit | delete | rename ]
[FILE] class-wp-block-styles-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-supports.php [ edit | delete | rename ]
[FILE] class-wp-block-template.php [ edit | delete | rename ]
[FILE] class-wp-block-templates-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-type-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-type.php [ edit | delete | rename ]
[FILE] class-wp-block.php [ edit | delete | rename ]
[FILE] class-wp-classic-to-block-menu-converter.php [ edit | delete | rename ]
[FILE] class-wp-comment-query.php [ edit | delete | rename ]
[FILE] class-wp-comment.php [ edit | delete | rename ]
[FILE] class-wp-customize-control.php [ edit | delete | rename ]
[FILE] class-wp-customize-manager.php [ edit | delete | rename ]
[FILE] class-wp-customize-nav-menus.php [ edit | delete | rename ]
[FILE] class-wp-customize-panel.php [ edit | delete | rename ]
[FILE] class-wp-customize-setting.php [ edit | delete | rename ]
[FILE] class-wp-customize-widgets.php [ edit | delete | rename ]
[FILE] class-wp-date-query.php [ edit | delete | rename ]
[FILE] class-wp-dependencies.php [ edit | delete | rename ]
[FILE] class-wp-dependency.php [ edit | delete | rename ]
[FILE] class-wp-duotone.php [ edit | delete | rename ]
[FILE] class-wp-error.php [ edit | delete | rename ]
[FILE] class-wp-exception.php [ edit | delete | rename ]
[FILE] class-wp-fatal-error-handler.php [ edit | delete | rename ]
[FILE] class-wp-feed-cache-transient.php [ edit | delete | rename ]
[FILE] class-wp-feed-cache.php [ edit | delete | rename ]
[FILE] class-wp-hook.php [ edit | delete | rename ]
[FILE] class-wp-http-curl.php [ edit | delete | rename ]
[FILE] class-wp-http-encoding.php [ edit | delete | rename ]
[FILE] class-wp-http-ixr-client.php [ edit | delete | rename ]
[FILE] class-wp-http-proxy.php [ edit | delete | rename ]
[FILE] class-wp-http-requests-hooks.php [ edit | delete | rename ]
[FILE] class-wp-http-requests-response.php [ edit | delete | rename ]
[FILE] class-wp-http-response.php [ edit | delete | rename ]
[FILE] class-wp-http-streams.php [ edit | delete | rename ]
[FILE] class-wp-http.php [ edit | delete | rename ]
[FILE] class-wp-image-editor-gd.php [ edit | delete | rename ]
[FILE] class-wp-image-editor-imagick.php [ edit | delete | rename ]
[FILE] class-wp-image-editor.php [ edit | delete | rename ]
[FILE] class-wp-list-util.php [ edit | delete | rename ]
[FILE] class-wp-locale-switcher.php [ edit | delete | rename ]
[FILE] class-wp-locale.php [ edit | delete | rename ]
[FILE] class-wp-matchesmapregex.php [ edit | delete | rename ]
[FILE] class-wp-meta-query.php [ edit | delete | rename ]
[FILE] class-wp-metadata-lazyloader.php [ edit | delete | rename ]
[FILE] class-wp-network-query.php [ edit | delete | rename ]
[FILE] class-wp-network.php [ edit | delete | rename ]
[FILE] class-wp-oembed-controller.php [ edit | delete | rename ]
[FILE] class-wp-paused-extensions-storage.php [ edit | delete | rename ]
[FILE] class-wp-phpmailer.php [ edit | delete | rename ]
[FILE] class-wp-plugin-dependencies.php [ edit | delete | rename ]
[FILE] class-wp-post-type.php [ edit | delete | rename ]
[FILE] class-wp-post.php [ edit | delete | rename ]
[FILE] class-wp-query.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode-cookie-service.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode-email-service.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode-key-service.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode-link-service.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode.php [ edit | delete | rename ]
[FILE] class-wp-rewrite.php [ edit | delete | rename ]
[FILE] class-wp-role.php [ edit | delete | rename ]
[FILE] class-wp-roles.php [ edit | delete | rename ]
[FILE] class-wp-script-modules.php [ edit | delete | rename ]
[FILE] class-wp-scripts.php [ edit | delete | rename ]
[FILE] class-wp-simplepie-file.php [ edit | delete | rename ]
[FILE] class-wp-simplepie-sanitize-kses.php [ edit | delete | rename ]
[FILE] class-wp-site-query.php [ edit | delete | rename ]
[FILE] class-wp-site.php [ edit | delete | rename ]
[FILE] class-wp-speculation-rules.php [ edit | delete | rename ]
[FILE] class-wp-styles.php [ edit | delete | rename ]
[FILE] class-wp-tax-query.php [ edit | delete | rename ]
[FILE] class-wp-taxonomy.php [ edit | delete | rename ]
[FILE] class-wp-term-query.php [ edit | delete | rename ]
[FILE] class-wp-term.php [ edit | delete | rename ]
[FILE] class-wp-text-diff-renderer-table.php [ edit | delete | rename ]
[FILE] class-wp-textdomain-registry.php [ edit | delete | rename ]
[FILE] class-wp-theme-json-data.php [ edit | delete | rename ]
[FILE] class-wp-theme-json-resolver.php [ edit | delete | rename ]
[FILE] class-wp-theme-json-schema.php [ edit | delete | rename ]
[FILE] class-wp-theme.php [ edit | delete | rename ]
[FILE] class-wp-token-map.php [ edit | delete | rename ]
[FILE] class-wp-url-pattern-prefixer.php [ edit | delete | rename ]
[FILE] class-wp-user-meta-session-tokens.php [ edit | delete | rename ]
[FILE] class-wp-user-query.php [ edit | delete | rename ]
[FILE] class-wp-user-request.php [ edit | delete | rename ]
[FILE] class-wp-user.php [ edit | delete | rename ]
[FILE] class-wp-walker.php [ edit | delete | rename ]
[FILE] class-wp-widget-factory.php [ edit | delete | rename ]
[FILE] class-wp-widget.php [ edit | delete | rename ]
[FILE] class-wp-xmlrpc-server.php [ edit | delete | rename ]
[FILE] class-wp.php [ edit | delete | rename ]
[FILE] class-wpdb.php [ edit | delete | rename ]
[FILE] class.wp-dependencies.php [ edit | delete | rename ]
[FILE] class.wp-scripts.php [ edit | delete | rename ]
[FILE] class.wp-styles.php [ edit | delete | rename ]
[FILE] comment-template.php [ edit | delete | rename ]
[FILE] compat-utf8.php [ edit | delete | rename ]
[FILE] compat.php [ edit | delete | rename ]
[FILE] date.php [ edit | delete | rename ]
[FILE] default-constants.php [ edit | delete | rename ]
[FILE] default-filters.php [ edit | delete | rename ]
[FILE] default-widgets.php [ edit | delete | rename ]
[FILE] deprecated.php [ edit | delete | rename ]
[FILE] embed-template.php [ edit | delete | rename ]
[FILE] embed.php [ edit | delete | rename ]
[FILE] error-protection.php [ edit | delete | rename ]
[FILE] feed-atom-comments.php [ edit | delete | rename ]
[FILE] feed-atom.php [ edit | delete | rename ]
[FILE] feed-rdf.php [ edit | delete | rename ]
[FILE] feed-rss.php [ edit | delete | rename ]
[FILE] feed-rss2-comments.php [ edit | delete | rename ]
[FILE] feed-rss2.php [ edit | delete | rename ]
[FILE] feed.php [ edit | delete | rename ]
[FILE] fonts.php [ edit | delete | rename ]
[FILE] formatting.php [ edit | delete | rename ]
[FILE] functions.php [ edit | delete | rename ]
[FILE] functions.wp-scripts.php [ edit | delete | rename ]
[FILE] functions.wp-styles.php [ edit | delete | rename ]
[FILE] global-styles-and-settings.php [ edit | delete | rename ]
[FILE] http.php [ edit | delete | rename ]
[FILE] https-detection.php [ edit | delete | rename ]
[FILE] https-migration.php [ edit | delete | rename ]
[FILE] kses.php [ edit | delete | rename ]
[FILE] l10n.php [ edit | delete | rename ]
[FILE] link-template.php [ edit | delete | rename ]
[FILE] load.php [ edit | delete | rename ]
[FILE] media-template.php [ edit | delete | rename ]
[FILE] media.php [ edit | delete | rename ]
[FILE] meta.php [ edit | delete | rename ]
[FILE] ms-blogs.php [ edit | delete | rename ]
[FILE] ms-default-constants.php [ edit | delete | rename ]
[FILE] ms-default-filters.php [ edit | delete | rename ]
[FILE] ms-deprecated.php [ edit | delete | rename ]
[FILE] ms-files.php [ edit | delete | rename ]
[FILE] ms-functions.php [ edit | delete | rename ]
[FILE] ms-load.php [ edit | delete | rename ]
[FILE] ms-network.php [ edit | delete | rename ]
[FILE] ms-settings.php [ edit | delete | rename ]
[FILE] ms-site.php [ edit | delete | rename ]
[FILE] nav-menu-template.php [ edit | delete | rename ]
[FILE] nav-menu.php [ edit | delete | rename ]
[FILE] option.php [ edit | delete | rename ]
[FILE] pluggable-deprecated.php [ edit | delete | rename ]
[FILE] pluggable.php [ edit | delete | rename ]
[FILE] plugin.php [ edit | delete | rename ]
[FILE] post-template.php [ edit | delete | rename ]
[FILE] post-thumbnail-template.php [ edit | delete | rename ]
[FILE] post.php [ edit | delete | rename ]
[FILE] query.php [ edit | delete | rename ]
[FILE] registration-functions.php [ edit | delete | rename ]
[FILE] registration.php [ edit | delete | rename ]
[FILE] rest-api.php [ edit | delete | rename ]
[FILE] revision.php [ edit | delete | rename ]
[FILE] rewrite.php [ edit | delete | rename ]
[FILE] robots-template.php [ edit | delete | rename ]
[FILE] rss-functions.php [ edit | delete | rename ]
[FILE] rss.php [ edit | delete | rename ]
[FILE] script-loader.php [ edit | delete | rename ]
[FILE] script-modules.php [ edit | delete | rename ]
[FILE] sitemaps.php [ edit | delete | rename ]
[FILE] speculative-loading.php [ edit | delete | rename ]
[FILE] spl-autoload-compat.php [ edit | delete | rename ]
[FILE] style-engine.php [ edit | delete | rename ]
[FILE] taxonomy.php [ edit | delete | rename ]
[FILE] template-canvas.php [ edit | delete | rename ]
[FILE] template-loader.php [ edit | delete | rename ]
[FILE] template.php [ edit | delete | rename ]
[FILE] theme-i18n.json [ edit | delete | rename ]
[FILE] theme-previews.php [ edit | delete | rename ]
[FILE] theme-templates.php [ edit | delete | rename ]
[FILE] theme.json [ edit | delete | rename ]
[FILE] update.php [ edit | delete | rename ]
[FILE] user.php [ edit | delete | rename ]
[FILE] utf8.php [ edit | delete | rename ]
[FILE] vars.php [ edit | delete | rename ]
[FILE] version.php [ edit | delete | rename ]
[FILE] wp-db.php [ edit | delete | rename ]
[FILE] wp-diff.php [ edit | delete | rename ]

Viewing: /home/webdevt/www/demo3/wp-includes/abilities.php

<?php
/**
 * Core Abilities registration.
 *
 * @package WordPress
 * @subpackage Abilities_API
 * @since 6.9.0
 */

declare( strict_types = 1 );

/**
 * Registers the core ability categories.
 *
 * @since 6.9.0
 *
 * @return void
 */
function wp_register_core_ability_categories(): void {
	wp_register_ability_category(
		'site',
		array(
			'label'       => __( 'Site' ),
			'description' => __( 'Abilities that retrieve or modify site information and settings.' ),
		)
	);

	wp_register_ability_category(
		'user',
		array(
			'label'       => __( 'User' ),
			'description' => __( 'Abilities that retrieve or modify user information and settings.' ),
		)
	);
}

/**
 * Registers the default core abilities.
 *
 * @since 6.9.0
 *
 * @return void
 */
function wp_register_core_abilities(): void {
	$category_site = 'site';
	$category_user = 'user';

	$site_info_properties = array(
		'name'        => array(
			'type'        => 'string',
			'description' => __( 'The site title.' ),
		),
		'description' => array(
			'type'        => 'string',
			'description' => __( 'The site tagline.' ),
		),
		'url'         => array(
			'type'        => 'string',
			'description' => __( 'The site home URL.' ),
		),
		'wpurl'       => array(
			'type'        => 'string',
			'description' => __( 'The WordPress installation URL.' ),
		),
		'admin_email' => array(
			'type'        => 'string',
			'description' => __( 'The site administrator email address.' ),
		),
		'charset'     => array(
			'type'        => 'string',
			'description' => __( 'The site character encoding.' ),
		),
		'language'    => array(
			'type'        => 'string',
			'description' => __( 'The site language locale code.' ),
		),
		'version'     => array(
			'type'        => 'string',
			'description' => __( 'The WordPress version.' ),
		),
	);
	$site_info_fields     = array_keys( $site_info_properties );

	wp_register_ability(
		'core/get-site-info',
		array(
			'label'               => __( 'Get Site Information' ),
			'description'         => __( 'Returns site information configured in WordPress. By default returns all fields, or optionally a filtered subset.' ),
			'category'            => $category_site,
			'input_schema'        => array(
				'type'                 => 'object',
				'properties'           => array(
					'fields' => array(
						'type'        => 'array',
						'items'       => array(
							'type' => 'string',
							'enum' => $site_info_fields,
						),
						'description' => __( 'Optional: Limit response to specific fields. If omitted, all fields are returned.' ),
					),
				),
				'additionalProperties' => false,
				'default'              => array(),
			),
			'output_schema'       => array(
				'type'                 => 'object',
				'properties'           => $site_info_properties,
				'additionalProperties' => false,
			),
			'execute_callback'    => static function ( $input = array() ) use ( $site_info_fields ): array {
				$input = is_array( $input ) ? $input : array();
				$requested_fields = ! empty( $input['fields'] ) ? $input['fields'] : $site_info_fields;

				$result = array();
				foreach ( $requested_fields as $field ) {
					$result[ $field ] = get_bloginfo( $field );
				}

				return $result;
			},
			'permission_callback' => static function (): bool {
				return current_user_can( 'manage_options' );
			},
			'meta'                => array(
				'annotations'  => array(
					'readonly'    => true,
					'destructive' => false,
					'idempotent'  => true,
				),
				'show_in_rest' => true,
			),
		)
	);

	wp_register_ability(
		'core/get-user-info',
		array(
			'label'               => __( 'Get User Information' ),
			'description'         => __( 'Returns basic profile details for the current authenticated user to support personalization, auditing, and access-aware behavior.' ),
			'category'            => $category_user,
			'output_schema'       => array(
				'type'                 => 'object',
				'required'             => array( 'id', 'display_name', 'user_nicename', 'user_login', 'roles', 'locale' ),
				'properties'           => array(
					'id'            => array(
						'type'        => 'integer',
						'description' => __( 'The user ID.' ),
					),
					'display_name'  => array(
						'type'        => 'string',
						'description' => __( 'The display name of the user.' ),
					),
					'user_nicename' => array(
						'type'        => 'string',
						'description' => __( 'The URL-friendly name for the user.' ),
					),
					'user_login'    => array(
						'type'        => 'string',
						'description' => __( 'The login username for the user.' ),
					),
					'roles'         => array(
						'type'        => 'array',
						'description' => __( 'The roles assigned to the user.' ),
						'items'       => array(
							'type' => 'string',
						),
					),
					'locale'        => array(
						'type'        => 'string',
						'description' => __( 'The locale string for the user, such as en_US.' ),
					),
				),
				'additionalProperties' => false,
			),
			'execute_callback'    => static function (): array {
				$current_user = wp_get_current_user();

				return array(
					'id'            => $current_user->ID,
					'display_name'  => $current_user->display_name,
					'user_nicename' => $current_user->user_nicename,
					'user_login'    => $current_user->user_login,
					'roles'         => $current_user->roles,
					'locale'        => get_user_locale( $current_user ),
				);
			},
			'permission_callback' => static function (): bool {
				return is_user_logged_in();
			},
			'meta'                => array(
				'annotations'  => array(
					'readonly'    => true,
					'destructive' => false,
					'idempotent'  => true,
				),
				'show_in_rest' => false,
			),
		)
	);

	wp_register_ability(
		'core/get-environment-info',
		array(
			'label'               => __( 'Get Environment Info' ),
			'description'         => __( 'Returns core details about the site\'s runtime context for diagnostics and compatibility (environment, PHP runtime, database server info, WordPress version).' ),
			'category'            => $category_site,
			'output_schema'       => array(
				'type'                 => 'object',
				'required'             => array( 'environment', 'php_version', 'db_server_info', 'wp_version' ),
				'properties'           => array(
					'environment'    => array(
						'type'        => 'string',
						'description' => __( 'The site\'s runtime environment classification (can be one of these: production, staging, development, local).' ),
						'enum'        => array( 'production', 'staging', 'development', 'local' ),
					),
					'php_version'    => array(
						'type'        => 'string',
						'description' => __( 'The PHP runtime version executing WordPress.' ),
					),
					'db_server_info' => array(
						'type'        => 'string',
						'description' => __( 'The database server vendor and version string reported by the driver.' ),
					),
					'wp_version'     => array(
						'type'        => 'string',
						'description' => __( 'The WordPress core version running on this site.' ),
					),
				),
				'additionalProperties' => false,
			),
			'execute_callback'    => static function (): array {
				global $wpdb;

				$env          = wp_get_environment_type();
				$php_version  = phpversion();
				$db_server_info  = '';
				if ( method_exists( $wpdb, 'db_server_info' ) ) {
					$db_server_info = $wpdb->db_server_info() ?? '';
				}
				$wp_version   = get_bloginfo( 'version' );

				return array(
					'environment'    => $env,
					'php_version'    => $php_version,
					'db_server_info' => $db_server_info,
					'wp_version'     => $wp_version,
				);
			},
			'permission_callback' => static function (): bool {
				return current_user_can( 'manage_options' );
			},
			'meta'                => array(
				'annotations'  => array(
					'readonly'    => true,
					'destructive' => false,
					'idempotent'  => true,
				),
				'show_in_rest' => true,
			),
		)
	);
}

Upload File: