Чуть изменил патч. Всё-таки использовать get_post() для проверки существования записи не очень хорошая идея т.к. записи сохраняются в объектный кэш, что может привести к избыточному потреблению памяти. Лучше использовать простую функцию для проверки:
function post_exists( int $post_id ): bool {
global $wpdb;
return (bool) $wpdb->get_var(
"SELECT COUNT(*) FROM {$wpdb->posts} WHERE id={$post_id}"
);
}