# Como corrigir o Drip Content que não libera conteúdo no Tutor LMS

O Drip Content do Tutor LMS não libera o conteúdo quando o addon Content Drip está desativado, quando nenhum tipo de liberação foi escolhido na aba Content Drip do curso, ou quando a regra definida (data, dias após matrícula, sequencial ou pré-requisito) ainda não foi satisfeita pelo aluno.

## O que é Drip Content que não libera no Tutor LMS?

O Drip Content do Tutor LMS é o recurso que libera o conteúdo de um curso aos poucos, em vez de entregar todas as aulas, quizzes e tarefas de uma vez. Ele é um addon do Tutor LMS Pro: precisa ser ativado em Tutor LMS Pro e configurado por curso, com um tipo de liberação escolhido na aba Content Drip do Course Builder. Quando esse encadeamento não está completo, o aluno matriculado vê as aulas como bloqueadas ou não as vê liberar na data esperada.

Segundo a documentação oficial da Themeum, o Content Drip oferece quatro métodos de liberação: agendar o conteúdo por uma data específica, liberar após um número de dias contados a partir da matrícula, liberar sequencialmente conforme o aluno conclui a aula anterior, e liberar após o aluno finalizar pré-requisitos definidos. O conteúdo só aparece quando a condição do método escolhido é atingida. Por isso, uma aula sem data definida, um pré-requisito ainda não concluído ou uma aula anterior não marcada como completa fazem o conteúdo continuar bloqueado mesmo com o addon ativo.

## Como identificar

- O aluno matriculado vê as aulas, quizzes ou tarefas com cadeado e a mensagem de conteúdo bloqueado, sem conseguir abri-las.
- A aba Content Drip não aparece no Course Builder ao editar o curso, mesmo procurando dentro da aba Basics.
- Todo o conteúdo do curso é liberado de uma vez, ignorando as datas ou os dias após a matrícula que foram configurados.
- Uma aula com data de liberação já passada continua bloqueada para o aluno, ou uma aula sem data definida aparece liberada antes do esperado.
- No modo sequencial, a próxima aula não desbloqueia mesmo o aluno tendo assistido a anterior, porque ela não foi marcada como concluída.

**Antes de começar:** Antes de mexer em addons, configurações de curso ou no functions.php do tema em produção, faça um backup do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, para poder reverter caso a liberação do conteúdo se comporte de forma inesperada.

## Como prevenir

- Defina o Content Drip Type do curso logo na criação, antes de adicionar muitas aulas, para que cada aula já nasça com a regra de liberação correta.
- Padronize o método de liberação por tipo de curso e documente a escolha, evitando misturar data, dias e pré-requisito sem critério dentro da mesma trilha.
- Ao usar liberação por data, revise as datas a cada nova turma, pois datas de turmas passadas deixam o conteúdo liberado fora do prazo planejado.
- Teste sempre com um aluno de demonstração após configurar o drip, percorrendo o curso do início ao fim para confirmar que cada aula desbloqueia na condição esperada.

Erros relacionados

- [Como corrigir quizzes que não salvam respostas no Tutor LMS](https://full.services/wp-fixer/corrigir-quiz-nao-salva-tutor-lms/)
- [Como corrigir alunos sem acesso ao login no Tutor LMS](https://full.services/wp-fixer/corrigir-login-aluno-tutor-lms/)
- [Como corrigir certificados que não chegam por e-mail no Tutor LMS](https://full.services/wp-fixer/corrigir-certificado-email-tutor-lms/)

## Causa

- O addon Content Drip está desativado em Tutor LMS Pro e Addons, então o recurso de liberação progressiva não roda e o Tutor LMS entrega todo o conteúdo de uma vez.
- Nenhum tipo de liberação foi escolhido na aba Content Drip do curso (Course Builder, dentro da aba Basics), o que faz o curso ignorar qualquer agendamento configurado nas aulas.
- O tipo escolhido é Schedule course contents by date, mas a aula está sem data preenchida no formulário da aula; segundo a doc, conteúdo sem data definida é liberado imediatamente na matrícula em vez de ficar agendado.
- O tipo é Content available after X days from enrollment, porém o número de dias por aula não foi configurado, ou a data de matrícula do aluno é mais recente do que o contador esperado, mantendo a aula bloqueada.
- O tipo é Course content available sequentially e a aula anterior não foi marcada como concluída pelo aluno (o quiz sem tentativa ou a tarefa sem submissão), condição que a doc exige para liberar a próxima aula.
- O tipo é After finishing prerequisites e o pré-requisito apontado não foi cumprido pelo aluno, ou aponta para um conteúdo que foi removido do curso, travando o desbloqueio do item dependente.

## Como resolver

1. Ative o addon Content Drip: No painel, abra Tutor LMS Pro e a seção Addons e ative o Content Drip pelo botão de alternância. Sem o addon ativo o recurso de liberação progressiva nem aparece no curso e o Tutor LMS libera todo o conteúdo de uma vez.

```
Painel WP -> Tutor LMS Pro -> Addons
Localize 'Content Drip' e ligue o botão de alternância (toggle)
```

2. Escolha o tipo de liberação na aba Content Drip do curso: Edite o curso no Course Builder e, dentro da aba Basics, abra a aba Content Drip que surge após ativar o addon. Selecione o método de liberação desejado entre os quatro disponíveis. Sem um tipo selecionado, o curso ignora qualquer agendamento feito nas aulas.

```
Painel WP -> Cursos -> abra o curso -> Course Builder
Aba Basics -> aba Content Drip
Selecione o Content Drip Type (por data, dias após matrícula, sequencial ou pré-requisito)
```

3. Preencha a regra de liberação em cada aula: Abra cada aula, quiz ou tarefa e preencha o campo que o tipo escolhido exige: a data de liberação (para o modo por data) ou o número de dias após a matrícula (para o modo por dias). Pela doc, conteúdo sem data definida é liberado de imediato na matrícula, então a aula precisa do valor preenchido para ficar agendada.

```
Course Builder -> abra a aula/quiz/tarefa
Defina a data de liberação OU o número de dias após a matrícula
Salve cada item após preencher o campo
```

4. Confirme a conclusão da aula anterior ou do pré-requisito: Para os modos sequencial e por pré-requisito, valide do lado do aluno: o modo sequencial só libera a próxima aula quando a anterior é marcada como concluída (quiz com tentativa, tarefa com submissão). No modo pré-requisito, confirme que o item apontado ainda existe no curso e foi cumprido pelo aluno.

```
Matricule um usuário de teste e percorra o curso como aluno
Marque a aula anterior como concluída (Complete Lesson)
Verifique se a próxima aula desbloqueia após a conclusão
```

5. Limpe o cache e revise conflitos de plugin: Se o conteúdo continuar travado após a configuração correta, limpe o cache do site e do navegador para que a página do curso reflita o estado real de liberação. Em seguida, desative plugins de cache ou de proteção de membros um a um para isolar um conflito que esteja servindo a versão antiga da página.

```
Limpe o cache do plugin de cache (ex.: Purge All)
Limpe o cache do navegador e reabra a página do curso
Desative plugins de cache/membership um a um e teste o desbloqueio
```


## Código

```php
<?php
// Diagnostico: lista o tipo de Content Drip e as datas de liberacao
// das aulas de um curso, para achar itens sem regra preenchida.
add_shortcode( 'full_debug_drip', 'full_debug_content_drip' );
function full_debug_content_drip( $atts ) {
    $atts = shortcode_atts( array( 'course_id' => 0 ), $atts );
    $course_id = absint( $atts['course_id'] );
    if ( ! $course_id || ! function_exists( 'tutor_utils' ) ) {
        return 'Informe um course_id valido e confirme o Tutor LMS ativo.';
    }

    // Tipo de drip definido no curso (vazio = nenhum tipo escolhido).
    $drip_type = get_post_meta( $course_id, '_content_drip_type', true );
    $linhas = array( 'Content Drip Type do curso: ' . ( $drip_type ? $drip_type : 'NENHUM (configure na aba Content Drip)' ) );

    // Percorre as aulas e mostra a data de liberacao de cada uma.
    $topics = tutor_utils()->get_course_contents_by_id( $course_id );
    foreach ( (array) $topics as $item ) {
        $unlock = get_post_meta( $item->ID, '_content_drip_settings', true );
        $data   = is_array( $unlock ) && ! empty( $unlock['unlock_date'] ) ? $unlock['unlock_date'] : 'sem data (libera na matricula)';
        $linhas[] = $item->post_title . ' -> ' . $data;
    }

    return '<pre>' . esc_html( implode( "n", $linhas ) ) . '</pre>';
}
```

## Perguntas frequentes

### Por que o Drip Content do Tutor LMS não libera as aulas para o aluno

Na maioria dos casos o addon Content Drip está desativado, nenhum tipo de liberação foi escolhido na aba Content Drip do curso, ou a regra definida ainda não foi cumprida pelo aluno. Ative o addon em Tutor LMS Pro e Addons, escolha o tipo no Course Builder e preencha a data ou os dias em cada aula.

### Onde fica a aba Content Drip no Tutor LMS

Depois de ativar o addon Content Drip, uma aba Content Drip aparece dentro da aba Basics no Course Builder do curso. É nela que você seleciona o tipo de liberação. Se a aba não aparece, o addon ainda não foi ativado em Tutor LMS Pro e Addons.

### Quais são os tipos de liberação do Content Drip

A documentação oficial lista quatro métodos: agendar o conteúdo por uma data específica, liberar após um número de dias a partir da matrícula, liberar sequencialmente conforme o aluno conclui cada aula, e liberar após o aluno finalizar pré-requisitos definidos. Você escolhe um por curso na aba Content Drip.

### Por que uma aula é liberada na matrícula em vez de ficar agendada

No modo de agendamento por data, segundo a doc, qualquer aula sem data definida é liberada imediatamente quando o aluno se matricula. Abra a aula e preencha a data de liberação para que ela passe a respeitar o agendamento em vez de aparecer logo de cara.

### No modo sequencial a próxima aula não aparece, o que fazer

O modo sequencial só libera a próxima aula quando a anterior é marcada como concluída: a aula precisa ser finalizada, o quiz precisa de uma tentativa e a tarefa precisa de uma submissão. Confirme do lado do aluno se o item anterior foi de fato concluído antes de esperar o desbloqueio.

### O Content Drip é gratuito no Tutor LMS

Não. O Content Drip é um addon do Tutor LMS Pro e precisa ser ativado na seção de Addons do plugin Pro. Na versão gratuita o recurso de liberação progressiva de conteúdo não fica disponível.

### Configurei pré-requisitos mas o aluno continua bloqueado

Verifique se o conteúdo apontado como pré-requisito ainda existe no curso e foi realmente cumprido pelo aluno. Pela doc, a tentativa de quiz e a submissão de tarefa contam como cumprimento; um pré-requisito removido ou não concluído mantém o item dependente travado.

### Limpar o cache resolve quando o conteúdo não libera

Pode ajudar quando a configuração já está correta mas a página mostra o estado antigo. Limpe o cache do plugin de cache e do navegador e reabra a página do curso. Se persistir, desative plugins de cache ou de membership um a um para isolar um conflito.

**Fonte:** [Tutor LMS — Content Drip addon (documentação oficial Themeum)](https://docs.themeum.com/tutor-lms/addons/content-drip/)
