# wp_ajax_widgets_order()

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

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

## Сигнатура

```php
wp_ajax_widgets_order()
```

## Описание

Обрабатывает сохранение порядка виджетов через AJAX.

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

Файл: `wp-admin/includes/ajax-actions.php:2314`

```php
function wp_ajax_widgets_order() {
	check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );

	if ( ! current_user_can( 'edit_theme_options' ) ) {
		wp_die( -1 );
	}

	unset( $_POST['savewidgets'], $_POST['action'] );

	// Save widgets order for all sidebars.
	if ( is_array( $_POST['sidebars'] ) ) {
		$sidebars = array();

		foreach ( wp_unslash( $_POST['sidebars'] ) as $key => $val ) {
			$sidebar = array();

			if ( ! empty( $val ) ) {
				$val = explode( ',', $val );

				foreach ( $val as $k => $v ) {
					if ( ! str_contains( $v, 'widget-' ) ) {
						continue;
					}

					$sidebar[ $k ] = substr( $v, strpos( $v, '_' ) + 1 );
				}
			}
			$sidebars[ $key ] = $sidebar;
		}

		wp_set_sidebars_widgets( $sidebars );
		wp_die( 1 );
	}

	wp_die( -1 );
}
```

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

- 3.1.0 — Introduced.

## Связанные

Использует: [`wp_set_sidebars_widgets`](https://chugunov.pro/api-wordpress/functions/wp_set_sidebars_widgets/), [`current_user_can`](https://chugunov.pro/api-wordpress/functions/current_user_can/), [`wp_unslash`](https://chugunov.pro/api-wordpress/functions/wp_unslash/), [`check_ajax_referer`](https://chugunov.pro/api-wordpress/functions/check_ajax_referer/), [`wp_die`](https://chugunov.pro/api-wordpress/functions/wp_die/).

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