WordPress Version: 6.3
/**
* Handles setting the featured image via AJAX.
*
* @since 3.1.0
*/
function wp_ajax_set_post_thumbnail()
{
$json = !empty($_REQUEST['json']);
// New-style request.
$post_id = (int) $_POST['post_id'];
if (!current_user_can('edit_post', $post_id)) {
wp_die(-1);
}
$thumbnail_id = (int) $_POST['thumbnail_id'];
if ($json) {
check_ajax_referer("update-post_{$post_id}");
} else {
check_ajax_referer("set_post_thumbnail-{$post_id}");
}
if ('-1' == $thumbnail_id) {
if (delete_post_thumbnail($post_id)) {
$return = _wp_post_thumbnail_html(null, $post_id);
$json ? wp_send_json_success($return) : wp_die($return);
} else {
wp_die(0);
}
}
if (set_post_thumbnail($post_id, $thumbnail_id)) {
$return = _wp_post_thumbnail_html($thumbnail_id, $post_id);
$json ? wp_send_json_success($return) : wp_die($return);
}
wp_die(0);
}