Como corrigir a integração LearnDash que não exibe cursos no Astra Pro no WordPress
O que é LearnDash Astra Pro que não exibe cursos?
O Astra LearnDash não exibe cursos é a falha em que as páginas de curso, lição ou a grade de cursos do LearnDash aparecem em branco, sem estilo ou com layout quebrado depois que o tema Astra Pro entra na frente. O Astra Pro traz um módulo dedicado de LearnDash que injeta os controles de design (largura do container, barra lateral, sidebar e tipografia) nas telas do LMS; quando esse módulo não está ativo ou o conteúdo é montado por um recurso que o Astra ainda não governa, o resultado é a página de cursos vazia ou desformatada.
O LearnDash registra os cursos no tipo de post sfwd-courses e os entrega ao visitante por blocos do editor, pelo add-on gratuito Course Grid e por shortcodes como ld_course_list. O Astra só aplica seu layout a essas telas depois que o módulo LearnDash do Astra Pro Addon é ligado em Astra. Sem essa ativação, ou com o container do Astra forçado para uma largura que oculta o conteúdo, os cursos existem no banco mas não chegam à tela do aluno.
Como identificar
- A página que lista os cursos abre em branco ou só com o cabeçalho e o rodapé do Astra, sem nenhum card de curso no meio.
- A grade de cursos montada pelo shortcode ‘ld_course_list’ ou pelo bloco Course Grid não renderiza, ou mostra apenas o título sem os cards.
- No Customizer do Astra não aparece a seção ‘LearnDash’ para ajustar layout, sidebar e largura das páginas de curso.
- As páginas de curso e lição abrem com o conteúdo do LearnDash sem estilo, coladas no topo, ignorando o container e a barra lateral do Astra.
- O endereço do arquivo de cursos retorna ‘Page not found’ (404) mesmo com cursos publicados e visíveis no painel.
Como prevenir
- Mantenha o módulo LearnDash do Astra Pro Addon ativo e revise o container e a sidebar das telas de curso sempre que trocar de layout global no Astra.
- Use o add-on oficial LearnDash Course Grid ou o bloco nativo para montar a grade, evitando shortcodes de terceiros que o Astra não estiliza.
- Sempre que copiar templates do LearnDash para o tema, versione-os e atualize-os a cada nova versão do plugin para não congelar a listagem de cursos.
- Após instalar ou atualizar o LearnDash, regrave os permalinks e valide a URL do arquivo de cursos antes de publicar mudanças em produção.
Causa
- O módulo LearnDash do Astra Pro Addon está desativado em Astra, então o tema não injeta os controles de layout nem estiliza as telas de curso, lição e a grade de cursos.
- A grade de cursos depende do add-on gratuito LearnDash Course Grid (ou do bloco Course Grid) que não está instalado e ativo, então o shortcode ld_course_list renderiza sem os cards visuais.
- O layout de container do Astra para o post type sfwd-courses está definido como largura total sem conteúdo, ou com a sidebar empurrando o conteúdo para fora da área visível na página de cursos.
- Os templates do LearnDash foram sobrescritos por arquivos antigos na pasta learndash do tema ativo, que não acompanham a versão atual do plugin e deixam de imprimir a listagem de cursos.
- Os permalinks não foram regravados após instalar ou atualizar o LearnDash, deixando o arquivo do post type courses sem rota e retornando 404 na página que lista os cursos.
Como resolver
- Ative o módulo LearnDash no Astra Pro Addon: O Astra só estiliza as telas do LearnDash depois que o módulo dedicado é ligado no Astra Pro Addon. Sem ele, as páginas de curso saem sem layout e a seção de ajustes não aparece no Customizer.
Painel WP -> Astra -> aba Módulos (Astra Pro Addon) Localize o módulo 'LearnDash' e clique em Ativar (toggle ligado) Confirme que o Astra Pro Addon esta ativo em Plugins - Ajuste o layout das páginas de curso no Customizer: Com o módulo ativo, o Astra exibe a seção LearnDash no Customizer. Defina um container com conteúdo e uma sidebar válida para que os cursos e a grade apareçam dentro da área de conteúdo, e não fora da tela.
Painel WP -> Aparencia -> Personalizar -> LearnDash Em Container, escolha 'Largura do conteúdo' (evite largura total sem conteúdo) Em Sidebar, selecione 'Sem barra lateral' ou um lado valido e publique - Garanta a grade de cursos com o add-on Course Grid: A grade visual de cursos depende do add-on gratuito LearnDash Course Grid ou do bloco Course Grid. Sem ele, o shortcode de listagem renderiza sem os cards. Instale e ative o add-on e confira o shortcode na página.
Painel WP -> LearnDash LMS -> Add-ons -> instale e ative 'Course Grid' Edite a página de cursos e confirme o shortcode: [ld_course_list] Ou insira o bloco 'LearnDash Course Grid' no editor de blocos - Remova templates antigos do LearnDash no tema: Templates do LearnDash copiados para o tema e desatualizados deixam de imprimir a listagem. Verifique a pasta learndash dentro do tema ativo e remova ou atualize os arquivos para o plugin voltar a usar os templates oficiais.
Via FTP, abra wp-content/themes/seu-tema/learndash/ Renomeie a pasta para learndash-bkp para o LearnDash usar os templates do plugin Recarregue a página de cursos e confira se a listagem volta - Regrave os permalinks para resolver o 404: Se a página que lista os cursos retorna 404, o post type sfwd-courses ficou sem rota após instalar ou atualizar o LearnDash. Regravar os permalinks recria as regras de reescrita e devolve a rota do arquivo de cursos.
Painel WP -> Configurações -> Links Permanentes Sem mudar nada, clique em 'Salvar alterações' para regravar as rewrite rules Acesse novamente a URL do arquivo de cursos e confirme que abre
<?php
// Forca container com conteudo e sem sidebar nas telas do LearnDash
// quando o tema ativo e o Astra. Adicione no functions.php do tema filho.
add_filter( 'astra_page_layout', 'full_learndash_astra_layout' );
function full_learndash_astra_layout( $layout ) {
if ( function_exists( 'learndash_get_post_type_slug' ) ) {
$ld_types = array(
learndash_get_post_type_slug( 'course' ), // sfwd-courses
learndash_get_post_type_slug( 'lesson' ), // sfwd-lessons
);
if ( is_singular( $ld_types ) || is_post_type_archive( $ld_types ) ) {
return 'no-sidebar';
}
}
return $layout;
}














