# Como corrigir pré-requisitos de curso que não funcionam no Tutor LMS

O pré-requisito de curso do Tutor LMS não funciona quando o addon Prerequisites está desativado, quando o curso exigido como pré-requisito não está publicado, ou quando o tema não usa os templates do Tutor, fazendo o aluno se inscrever sem concluir o curso anterior.

## O que é pré-requisitos de curso no Tutor LMS?

O pré-requisito de curso do Tutor LMS é um recurso de trancamento que obriga o aluno a concluir um ou mais cursos antes de poder se inscrever em um curso dependente. Por exemplo, exigir que o aluno termine 'Introdução ao PHP' antes de liberar 'PHP Avançado'. Quando funciona, a página do curso lista os pré-requisitos e bloqueia a matrícula até que todos estejam concluídos, marcando com um sinal de concluído os que o aluno já finalizou.

Esse recurso vem do addon Prerequisites, que é parte do Tutor LMS Pro e precisa ser ativado em Addons. A falha aparece de duas formas: o campo Course Prerequisites some da aba Additional no Course Builder, impedindo definir o pré-requisito; ou o pré-requisito está definido mas não é respeitado, e o aluno consegue se inscrever direto. As causas mais comuns, segundo a documentação oficial do Tutor LMS, são o addon não ativado, o curso pré-requisito em rascunho e o tema não usar os templates padrão do Tutor.

## Como identificar

- O aluno consegue se inscrever no curso avançado sem ter concluído o curso definido como pré-requisito, como se o trancamento não existisse.
- O campo Course Prerequisites não aparece na aba Additional do Course Builder ao editar o curso, impossibilitando escolher o curso exigido.
- A página de detalhes do curso não exibe a lista de pré-requisitos nem o sinal de concluído ao lado dos cursos já finalizados pelo aluno.
- O addon Prerequisites não está listado ou aparece desligado em Tutor LMS Pro -> Addons.
- O pré-requisito é ignorado apenas em páginas montadas com page builder ou template de tema customizado, mas funciona no template padrão do Tutor.

**Antes de começar:** Antes de trocar o tema, mexer em templates de curso ou desativar plugins de inscrição em produção, faça um backup do site (arquivos e banco de dados) ou teste em um ambiente de staging, para reverter caso a página de inscrição quebre.

## Como prevenir

- Mantenha o addon Prerequisites sempre ativo em Tutor LMS Pro -> Addons e revise os addons após cada atualização do Tutor, que pode redefinir estados.
- Publique o curso pré-requisito antes de marcá-lo como exigência em outro curso, evitando regras que apontam para cursos em rascunho.
- Padronize a página de curso no template do Tutor LMS e, ao usar page builder, monte sobre os templates do Tutor para preservar a verificação de pré-requisito.
- Documente a cadeia de pré-requisitos entre os cursos para que um ajuste de status ou de campo não derrube o trancamento sem querer.

Erros relacionados

- [Como corrigir o Course Builder que não carrega no Tutor LMS](https://full.services/wp-fixer/corrigir-course-builder-nao-carrega-tutor-lms/)
- [Como corrigir instrutores sem permissão para criar cursos no Tutor LMS](https://full.services/wp-fixer/corrigir-permissao-instrutor-criar-curso-tutor-lms/)
- [Como corrigir o progresso do aluno que não atualiza no Tutor LMS](https://full.services/wp-fixer/corrigir-progresso-aluno-tutor-lms/)

## Causa

- O addon Prerequisites está desativado em Tutor LMS Pro -> Addons: sem ele ligado, o campo Course Prerequisites não aparece no Course Builder e nenhum trancamento é aplicado (recurso é do Tutor LMS Pro).
- O curso escolhido como pré-requisito está em rascunho ou privado em vez de publicado, então o Tutor não o reconhece como concluível e o trancamento não é avaliado.
- O pré-requisito foi definido em uma versão do curso e não foi salvo: o campo Course Prerequisites na aba Additional precisa ser preenchido e o curso atualizado/publicado para gravar a regra.
- O tema ou um template de page builder substitui o template de página de curso do Tutor LMS e não chama a verificação de pré-requisito, deixando o botão de inscrição livre.
- Um plugin de cache ou de inscrição customizada serve a página de matrícula em cache ou inscreve o aluno por um fluxo próprio, pulando a checagem de pré-requisito do Tutor.

## Como resolver

1. Ative o addon Prerequisites no Tutor LMS Pro: O pré-requisito de curso só existe com o addon Prerequisites ligado. Sem ele, o campo de configuração nem aparece no Course Builder. Ative o addon antes de qualquer outro ajuste.

```
Painel WP -> Tutor LMS Pro -> Addons
Localize o addon 'Prerequisites' e ligue a chave (toggle) para ativar
```

2. Defina o pré-requisito na aba Additional do curso: Com o addon ativo, edite o curso dependente e abra a aba Additional no Course Builder. No campo Course Prerequisites, selecione o curso exigido na lista. Vários pré-requisitos podem ser adicionados. Salve atualizando ou publicando o curso.

```
Painel WP -> Tutor LMS Pro -> Courses -> abra o curso dependente
No Course Builder, abra a aba 'Additional'
No campo 'Course Prerequisites', selecione o curso exigido e clique em Atualizar/Publicar
```

3. Publique o curso usado como pré-requisito: Confirme que o curso escolhido como pré-requisito está com status Publicado, e não Rascunho ou Privado. Um curso não publicado não é reconhecido como concluível, então a regra de trancamento não é avaliada.

```
Painel WP -> Tutor LMS Pro -> Courses
Abra o curso pré-requisito e confirme o status como 'Publicado'
```

4. Garanta que a página do curso usa o template do Tutor: Verifique a página de detalhes do curso no template padrão do Tutor LMS. Se um tema ou page builder substituir esse template e não chamar a verificação de pré-requisito, o botão de inscrição fica liberado. Teste com um tema padrão para isolar.

```
Painel WP -> Aparência -> Temas -> ative um tema padrão (ex.: Twenty Twenty-Four)
Abra a página do curso e confirme se a lista de pré-requisitos aparece
Se voltar a funcionar, ajuste o template do curso no tema/page builder para usar o do Tutor
```

5. Limpe o cache e isole conflito de plugin: Limpe o cache de página para garantir que a verificação de pré-requisito rode no servidor a cada visita. Se o problema persistir, desative plugins de inscrição customizada um a um para achar o que pula a checagem do Tutor.

```
Limpe o cache do plugin de cache (ex.: WP Rocket -> Configurações -> Limpar cache)
Exclua a página de curso do cache de página do plugin
Painel WP -> Plugins -> desative plugins de inscrição/checkout customizado um a um e teste a inscrição
```


## Código

```php
<?php
// Reforça o trancamento de pré-requisito do Tutor LMS no servidor,
// barrando a inscrição quando algum curso exigido ainda não foi concluído.
add_action( 'tutor_before_enrol_completed', 'full_guard_tutor_prerequisite', 10, 1 );
function full_guard_tutor_prerequisite( $course_id ) {
    if ( ! function_exists( 'tutor_utils' ) ) {
        return;
    }
    $prerequisites = (array) get_post_meta( $course_id, '_tutor_course_prerequisites_ids', true );
    $user_id       = get_current_user_id();
    if ( empty( $prerequisites ) || ! $user_id ) {
        return;
    }
    foreach ( $prerequisites as $required_id ) {
        $required_id = (int) $required_id;
        if ( 'publish' !== get_post_status( $required_id ) ) {
            continue; // curso pré-requisito não publicado não tranca
        }
        if ( ! tutor_utils()->is_completed_course( $required_id, $user_id ) ) {
            wp_die( esc_html__( 'Conclua os cursos pré-requisito antes de se inscrever.', 'tutor' ) );
        }
    }
}
```

## Perguntas frequentes

### Por que o aluno consegue se inscrever sem concluir o pré-requisito no Tutor LMS

Na maioria dos casos o addon Prerequisites está desativado ou o curso pré-requisito não está publicado, então o Tutor não aplica o trancamento. Ative o addon em Tutor LMS Pro -> Addons e confirme que o curso exigido está publicado.

### O pré-requisito de curso é um recurso do Tutor LMS gratuito ou Pro

É do Tutor LMS Pro. O recurso vem do addon Prerequisites, que aparece em Tutor LMS Pro -> Addons e precisa ser ativado. Sem o Pro com o addon ligado, o campo de pré-requisito não aparece no Course Builder.

### Onde defino o curso pré-requisito no Tutor LMS

Edite o curso dependente e abra a aba Additional no Course Builder. No campo Course Prerequisites, selecione um ou mais cursos exigidos e salve atualizando ou publicando o curso. A regra só vale após esse salvamento.

### Por que o campo Course Prerequisites sumiu da aba Additional

O campo só aparece com o addon Prerequisites ativo. Se ele sumiu, o addon foi desligado, provavelmente após uma atualização do Tutor. Vá em Tutor LMS Pro -> Addons e religue o Prerequisites para o campo voltar.

### O pré-requisito funciona no template padrão mas não na minha página customizada

Isso indica que o tema ou page builder substituiu o template de curso do Tutor e não chama a verificação de pré-requisito. Monte a página de curso sobre os templates do Tutor LMS ou reative o template padrão para restaurar o trancamento.

### O cache pode atrapalhar a verificação de pré-requisito

Sim. Se a página de inscrição é servida em cache, a checagem de pré-requisito pode não rodar a cada visita. Limpe o cache e exclua as páginas de curso do cache de página para garantir a avaliação no servidor.

### Posso exigir mais de um curso como pré-requisito

Sim. No campo Course Prerequisites da aba Additional você pode adicionar vários cursos, sem limite, segundo a documentação do Tutor LMS. O aluno só se inscreve após concluir todos os cursos listados.

### Como o aluno sabe quais pré-requisitos já concluiu

Na página de detalhes do curso, os pré-requisitos aparecem listados e os que o aluno já finalizou recebem um sinal de concluído ao lado. Se essa lista não aparece, o template da página não está usando a saída do Tutor.

**Fonte:** [Tutor LMS — Course Prerequisites Addon (documentação oficial Themeum)](https://docs.themeum.com/tutor-lms/addons/course-prerequisites/)
