# wp_admin_bar_command_palette_menu()

URL: https://chugunov.pro/api-wordpress/functions/wp_admin_bar_command_palette_menu/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 7.0.0.

## Сигнатура

```php
wp_admin_bar_command_palette_menu( WP_Admin_Bar $wp_admin_bar )
```

## Описание

Отображает в панели администрирования кнопку, которая показывает сочетание клавиш для открытия командной палитры.

## Параметры

- `$wp_admin_bar` `WP_Admin_Bar` — обязательный. Экземпляр WP_Admin_Bar.

## Исходный код

Файл: `wp-includes/admin-bar.php:947`

```php
function wp_admin_bar_command_palette_menu( WP_Admin_Bar $wp_admin_bar ): void {
	if ( ! is_admin() || ! wp_script_is( 'wp-core-commands', 'enqueued' ) ) {
		return;
	}

	$shortcut_labels = array(
		'appleOS' => _x( '⌘K', 'keyboard shortcut to open the command palette' ),
		'default' => _x( 'Ctrl+K', 'keyboard shortcut to open the command palette' ),
	);
	$apple_pattern   = 'Macintosh|Mac OS X|Mac_PowerPC';
	$is_apple_os     = (bool) preg_match( "/{$apple_pattern}/i", $_SERVER['HTTP_USER_AGENT'] ?? '' );
	$shortcut_label  = $is_apple_os ? $shortcut_labels['appleOS'] : $shortcut_labels['default'];
	$title           = sprintf(
		'<span class="ab-icon" aria-hidden="true"></span><span class="ab-label"><kbd>%s</kbd><span class="screen-reader-text"> %s</span></span>',
		$shortcut_label,
		/* translators: Hidden accessibility text. */
		__( 'Open command palette' ),
	);
	/*
	 * Detect Apple OS via JavaScript for sites behind a CDN blocking the UA header.
	 *
	 * Running the script as the admin bar is rendered avoids a flash of incorrect content
	 * for users with Apple OS when the UA header is blocked. It also prevents the need for
	 * wp-i18n to be loaded as a dependency.
	 */
	$function = <<<'JS'
		( applePattern, appleOSLabel ) => {
			if ( ! ( new RegExp( applePattern, 'i' ) ).test( navigator.userAgent ) ) {
				return;
			}
			const kbd = document.querySelector( '#wp-admin-bar-command-palette .ab-label kbd' );
			if ( kbd ) {
				kbd.textContent = appleOSLabel;
			}
		}
	JS;
	$script   = sprintf(
		'( %s )( %s, %s );',
		$function,
		wp_json_encode( $apple_pattern, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ),
		wp_json_encode( $shortcut_labels['appleOS'], JSON_HEX_TAG | JSON_UNESCAPED_SLASHES )
	);
	$script  .= "\n//# sourceURL=" . rawurlencode( __FUNCTION__ );
	$wp_admin_bar->add_node(
		array(
			'id'    => 'command-palette',
			'title' => $title,
			'href'  => '#',
			'meta'  => array(
				'class'   => 'hide-if-no-js',
				'onclick' => 'wp.data.dispatch( "core/commands" ).open(); return false;',
				'html'    => wp_get_inline_script_tag( $script ),
			),
		)
	);
}
```

## История изменений

- 7.0.0 — Introduced.

## Связанные

Использует: [`wp_get_inline_script_tag`](https://chugunov.pro/api-wordpress/functions/wp_get_inline_script_tag/), [`wp_script_is`](https://chugunov.pro/api-wordpress/functions/wp_script_is/), `WP_Admin_Bar::add_node`, [`wp_json_encode`](https://chugunov.pro/api-wordpress/functions/wp_json_encode/), [`_x`](https://chugunov.pro/api-wordpress/functions/_x/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`is_admin`](https://chugunov.pro/api-wordpress/functions/is_admin/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_admin_bar_command_palette_menu/
