A WordPress-centric search engine for devs and theme authors



wp_ajax_widgets_order ›

Since3.1.0
Deprecatedn/a
wp_ajax_widgets_order ( No parameters )
Defined at:
Codex:

Ajax handler for saving the widgets order.



Source

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 ) {
			$sb = array();
			if ( ! empty( $val ) ) {
				$val = explode( ',', $val );
				foreach ( $val as $k => $v ) {
					if ( strpos( $v, 'widget-' ) === false ) {
						continue;
					}

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

	wp_die( -1 );
}