# Como corrigir o course archive que não exibe todos os cursos no Tutor LMS

O Tutor LMS course archive não mostra todos os cursos quando há cursos fora do status Publicado, paginação limitando a quantidade exibida, cache servindo uma versão antiga da página ou um filtro de categoria ativo escondendo parte da lista.

## O que é course archive do Tutor LMS sem cursos?

O course archive do Tutor LMS é a página que lista os cursos do site, montada pelo plugin a partir do post type interno de cursos. Cada item dessa listagem é um curso com um status do WordPress, e o Tutor LMS só exibe ao público os cursos que estão em Published. Quando a página aparece vazia, com menos cursos do que o esperado, ou paginada de forma estranha, quase sempre o motivo está no status dos cursos, na configuração de paginação do plugin, em uma camada de cache ou em um filtro de categoria aplicado à URL.

Segundo a documentação oficial do Themeum, o status do curso controla diretamente a visibilidade: cursos em Draft, Pending, Private ou Trash não aparecem na listagem pública. Some-se a isso o controle de quantos cursos são mostrados por página, definido nas configurações do Tutor LMS, e o efeito de plugins de cache e CDN que congelam a página de arquivo. Identificar em qual dessas camadas o curso está sendo filtrado é o que resolve o problema sem mexer no conteúdo dos cursos.

## Como identificar

- A página de cursos abre, mas exibe menos cursos do que existem no painel em Tutor LMS, Courses.
- Um curso recém-criado não aparece na listagem pública, embora exista no admin.
- A página de cursos aparece completamente vazia, com a mensagem 'No Course Found' ou 'Nenhum curso encontrado'.
- Os cursos só aparecem para o administrador logado e somem ao abrir a página em uma aba anônima.
- Ao trocar de página na paginação, alguns cursos esperados não estão em nenhuma das páginas.
- A listagem muda de quantidade dependendo se há um parâmetro de categoria ou de filtro na URL.

**Antes de começar:** Antes de trocar de tema, desativar plugins de cache ou editar snippets e arquivos 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 listagem de cursos quebre.

## Como prevenir

- Publique os cursos somente quando estiverem prontos e revise o status antes de divulgar a página, garantindo que estão em Published e não em Draft ou Pending.
- Defina um valor de Courses Per Page coerente com o tamanho do catálogo para evitar que cursos esperados caiam em páginas posteriores sem aviso.
- Configure a limpeza automática de cache na publicação de cursos e mantenha uma regra de purge na CDN para a URL do course archive.
- Evite queries customizadas no loop de cursos; quando precisar, documente os parâmetros usados (post_status, posts_per_page) para não filtrar a listagem sem querer.

Erros relacionados

- [Como corrigir o painel frontend que não carrega para instrutores no Tutor LMS](https://full.services/wp-fixer/corrigir-frontend-dashboard-instrutor-tutor-lms/)
- [Como corrigir o Social Login que não funciona no Tutor LMS](https://full.services/wp-fixer/corrigir-social-login-tutor-lms/)
- [Como corrigir a Wishlist que não salva cursos no Tutor LMS](https://full.services/wp-fixer/corrigir-wishlist-tutor-lms/)

## Causa

- Os cursos que faltam estão com status Draft, Pending, Private ou Trash; o Tutor LMS só lista publicamente cursos no status Published, conforme a documentação oficial sobre status do curso.
- O número definido em Courses Per Page nas configurações do Tutor LMS é menor que o total de cursos, então o restante fica em páginas subsequentes da paginação em vez de sumir de fato.
- Um plugin de cache de página ou a CDN está servindo uma versão antiga do course archive, gerada antes de os cursos novos serem publicados.
- Há um filtro de categoria ou de tag de curso ativo na URL do arquivo, restringindo a listagem àquela taxonomia e ocultando os demais cursos.
- A página atribuída como listagem de cursos no menu do Tutor LMS aponta para uma página errada ou foi recriada com outro ID, exibindo um arquivo sem os cursos atuais.
- Uma query customizada no tema ou um snippet alterou os parâmetros do loop de cursos (posts_per_page, post_status ou meta_query), filtrando a saída do arquivo.

## Como resolver

1. Confirme o status dos cursos que faltam: Abra a lista de cursos no painel e verifique o status de cada curso ausente. O Tutor LMS só exibe ao público cursos em Published; cursos em Draft, Pending, Private ou na Lixeira não entram no course archive. Publique o curso que deveria aparecer.

```
Painel WP -> Tutor LMS -> Courses
Filtre por All, Published, Draft, Pending, Private e Trash e localize o curso ausente
Abra o curso e em Publicar defina o status como Published (Publicado)
```

2. Ajuste a paginação em Courses Per Page: Se o total de cursos é maior que o limite por página, o restante apenas migra para as próximas páginas. Aumente o valor de Courses Per Page nas configurações do curso no Tutor LMS para exibir mais cursos na primeira página, ou confirme que a paginação do arquivo está funcionando.

```
Painel WP -> Tutor LMS -> Settings -> aba Course
Ajuste o campo Courses Per Page para um valor maior (ex.: 12 ou 24)
Salve e recarregue a página pública de cursos para conferir a paginação
```

3. Limpe o cache do site e da CDN: Cache de página congela o course archive numa versão anterior à publicação dos cursos novos. Limpe o cache do plugin (ex.: WP Rocket) e da CDN (ex.: Cloudflare), depois reabra a página em uma aba anônima para validar sem o cache do navegador.

```
Painel WP -> Settings -> WP Rocket -> Clear Cache (ou equivalente do seu plugin)
Painel da CDN (ex.: Cloudflare) -> Caching -> Purge Everything
Abra a página de cursos em uma janela anônima e confira a listagem
```

4. Verifique filtro de categoria e a página de listagem: Confirme que a URL aberta é a do arquivo de cursos e não a de uma categoria específica, e que a página de listagem de cursos do Tutor LMS aponta para a página correta. Um filtro de categoria na URL restringe a lista àquela taxonomia.

```
Abra a URL base de cursos sem parâmetros de categoria ou de busca
Painel WP -> Tutor LMS -> Settings -> confira a página atribuída à listagem de cursos
Reatribua a página de cursos correta se o ID estiver apontando para outra
```

5. Isole query customizada do tema ou de snippets: Se os cursos continuam filtrados, troque para um tema padrão e desative snippets recentes que mexam no loop de cursos, recarregando o arquivo a cada teste. Uma query com posts_per_page baixo ou post_status restrito corta a listagem.

```
Painel WP -> Aparencia -> Temas -> ative um tema padrão (ex.: Twenty Twenty-Four)
Desative plugins de snippets (ex.: Code Snippets) e revise functions.php do tema filho
Recarregue a página de cursos a cada teste para identificar o que altera a query
```


## Código

```php
<?php
// Diagnostico: lista no log quantos cursos existem por status no Tutor LMS.
// Rode uma vez (ex.: via snippet) e confira wp-content/debug.log.
add_action( 'init', 'full_debug_tutor_course_status' );
function full_debug_tutor_course_status() {
    if ( ! is_admin() || ! current_user_can( 'manage_options' ) ) {
        return;
    }
    $post_type = function_exists( 'tutor' ) ? tutor()->course_post_type : 'courses';
    $counts    = (array) wp_count_posts( $post_type );
    foreach ( $counts as $status => $total ) {
        error_log( sprintf( 'Tutor course status %s: %d', $status, (int) $total ) );
    }
}
```

## Perguntas frequentes

### Por que um curso publicado não aparece no course archive do Tutor LMS

Confirme primeiro se o status do curso é realmente Published e não Pending, Private ou Draft, pois só cursos publicados entram na listagem. Em seguida limpe o cache do site e da CDN, já que uma página de arquivo em cache pode estar congelada antes da publicação.

### Como mostro mais cursos por página no Tutor LMS

Vá em Tutor LMS, Settings, aba Course e aumente o valor de Courses Per Page. Cursos além do limite não somem, apenas migram para as próximas páginas da paginação do arquivo de cursos.

### A página de cursos do Tutor LMS está totalmente vazia, o que fazer

Verifique se existe ao menos um curso em status Published e se a URL aberta é a do arquivo de cursos, sem filtro de categoria. Se houver cursos publicados e a página segue vazia, limpe o cache e teste com um tema padrão para descartar conflito de query.

### O cache pode esconder cursos novos da listagem

Sim. Plugins de cache de página e a CDN podem servir uma versão antiga do course archive, sem os cursos publicados depois daquela geração. Limpe o cache do plugin e faça purge na CDN, depois recarregue a página em uma aba anônima.

### Por que os cursos aparecem só quando estou logado como admin

Isso costuma indicar que os cursos não estão em Published, e o administrador enxerga conteúdo não público que visitantes não veem. Publique os cursos e confira em uma janela anônima para validar a visibilidade real.

### Um filtro de categoria pode esconder cursos do arquivo

Pode. Se a URL do arquivo contém um parâmetro de categoria ou de tag de curso, a listagem mostra apenas os cursos daquela taxonomia. Abra a URL base de cursos sem filtros para ver o catálogo completo.

### Editar a query de cursos no tema pode quebrar a listagem

Sim. Um snippet ou um template que altere posts_per_page, post_status ou meta_query do loop de cursos pode reduzir ou filtrar a saída do arquivo. Teste com um tema padrão e desative snippets recentes para isolar a causa.

**Fonte:** [Tutor LMS — Course Settings (Themeum Docs)](https://docs.themeum.com/tutor-lms/settings/course/)
