WordPress Version: 5.5
/**
* Ajax handler for saving the meta box order.
*
* @since 3.1.0
*/
function wp_ajax_meta_box_order()
{
check_ajax_referer('meta-box-order');
$order = isset($_POST['order']) ? (array) $_POST['order'] : false;
$page_columns = isset($_POST['page_columns']) ? $_POST['page_columns'] : 'auto';
if ('auto' !== $page_columns) {
$page_columns = (int) $page_columns;
}
$page = isset($_POST['page']) ? $_POST['page'] : '';
if (sanitize_key($page) != $page) {
wp_die(0);
}
$user = wp_get_current_user();
if (!$user) {
wp_die(-1);
}
if ($order) {
update_user_option($user->ID, "meta-box-order_{$page}", $order, true);
}
if ($page_columns) {
update_user_option($user->ID, "screen_layout_{$page}", $page_columns, true);
}
wp_send_json_success();
}