public function action_handler()
{
$response = array('success' => false, 'error' => null);
if (empty($_POST['action']) || empty($_POST['name'])) {
return false;
}
$action = $_POST['action'];
$name = $_POST['name'];
$result = false;
switch ($action) {
case 'carbon_add_sidebar':
$result = $this->add_sidebar($name);
break;
case 'carbon_remove_sidebar':
$result = $this->remove_sidebar($name);
break;
}
if (is_wp_error($result)) {
$response['error'] = $result->get_error_message();
} else {
$response['success'] = (bool) $result;
}
if (defined('DOING_AJAX') && DOING_AJAX) {
wp_send_json($response);
} else {
return $response;
}
}