Auto delete post if certain custom field data is empty

    kses_remove_filters();
    $new_id = wp_insert_post($post_arr, true);

    kses_init_filters();

    if (is_wp_error($new_id)) {
        $this->write_log("error occurred in wordpress post entry: " . $new_id->get_error_message() . " " . $new_id->get_error_code(), true);
        return;
    }

    if($url)   update_post_meta($new_id, 'source_link', $url);
    else {
        // wp_delete_post($new_id); // Move post to trash
        $deleted = wp_delete_post($new_id, true); // Permanently delete post
        if(! $deleted ){
             $this->write_log("error deleting post entry.", true);
             return;
        }
    }