¿Necesitas ayuda?

Usuario de pago: Crear un ticket

Usuario gratuito: Visite los foros de soporte

Documentos relacionados

Volver a Docs

Activación de la compatibilidad con temas

Actualizado el 17 de febrero de 2023

En general, Sensei funciona bien con cualquier tema de WordPress. Solo tienes que instalar un tema, activarlo y ¡listo!

Un pequeño porcentaje de nuestros usuarios, sin embargo, puede encontrar problemas de compatibilidad de temas. Este documento de soporte de nivel avanzado es para ellos.

TLDR: Añade el siguiente fragmento de código al archivo functions.php de tu tema (si utilizas un tema hijo), o a un plugin como Code Snippets:

Antecedentes técnicos

Pueden producirse problemas de compatibilidad de temas cuando las envolturas de contenido predeterminadas de Sensei no coinciden con las del tema elegido. Esto se debe a que las páginas de Sensei utilizan plantillas propias, y es imposible que Sensei conozca el marcado exacto que utiliza un tema concreto.

Una envoltura de contenido no es más que un elemento HTML, normalmente un <div>que encierra todo el contenido de una entrada o página. Estos elementos envolventes suelen añadirse para que el desarrollador del tema pueda controlar mejor el aspecto del contenido.

Cuando hay un desajuste entre las envolturas de contenido, el manejo de compatibilidad de temas de Sensei hará todo lo posible para renderizar el contenido correctamente. En algunos casos, sin embargo, puede ser necesario añadir explícitamente soporte para su tema. Para ello, tendrá que añadir algún código que indique a Sensei qué envoltorios de contenido utiliza, de modo que los cursos y las lecciones se añadan en la ubicación correcta. También tendrá que añadir código que indique a Sensei que ha añadido soporte personalizado para su tema.

Declarar la compatibilidad de Sensei con su tema

Para evitar que Sensei utilice su funcionalidad de compatibilidad de temas por defecto, debe declarar la compatibilidad con Sensei añadiendo lo siguiente a su archivo functions.php:

Envoltorios de contenido

Las envolturas de contenido Sensei por defecto se encuentran en los siguientes archivos:

  • templates/globals/wrapper-start.php
  • templates/globals/wrapper-end.php

Estas envolturas funcionarán para la mayoría de los temas bien construidos.

También proporcionamos envoltorios personalizados para los siguientes temas:

  • _s
  • Escaparate
  • Veintiuno
  • Veintidós
  • Veintitrés
  • Veinticuatro
  • Veinticinco
  • Veintiséis
  • Veintisiete

Nota: Las envolturas para estos temas se almacenan en la carpeta /theme-integrations/ y se cargarán automáticamente si está utilizando uno de esos temas. Si prefieres no cargar las envolturas de estos temas y proporcionar las tuyas propias en su lugar, puedes evitar que se carguen añadiendo el siguiente código al archivo functions. php de tu tema:

add_filter( 'sensei_load_default_supported_theme_wrappers', '__return_false' );

Si tu tema utiliza una estructura diferente, tendrás que especificar tus propias envolturas de contenido añadiendo algo de código al archivo functions. php de tu tema, o a un plugin como Code Snippets.

Especificar sus propias envolturas

En primer lugar, tendrás que encontrar la estructura HTML correcta para las envolturas. Para ello, abra el tema página.php y busque el contenedor del tema divs. Estos son losdivs que aparecen antes y después del bucle de contenido, responsable de mostrar el contenido de una página.

Wrappers para el tema TwentyTen

Por defecto, los envoltorios Sensei no funcionan bien con el tema TwentyTen (no te preocupes, si quieres utilizarlo, este ejemplo te mostrará cómo).

Por ejemplo, si se observa una página de un solo cuestionario, se puede ver cómo la barra lateral se desplaza hacia abajo, por debajo del contenido principal:

2010-masticado

Si miras el archivo page. php del tema TwentyTen, podrás ver el HTML que se coloca alrededor del bucle de contenido:

Envoltorios 2010

Los envoltorios de apertura son los dosdivs por encima del bucle de contenido principal, y las envolturas de cierre son las correspondientes envolturas de cierredivs debajo del bucle. También es necesario incluir el get_sidebar que mostrará la barra lateral en sus páginas Sensei.

Si el archivo page. php de tu tema es mucho más complejo que esto, y no puedes decir fácilmente cuáles son las envolturas de apertura y cierre, es posible que necesites que un desarrollador te ayude a resolverlo. Recomendamos Codeable o uno de nuestros WooExperts.

Para hacer que este tema funcione con Sensei, necesitamos desenganchar las envolturas por defecto, y luego enganchar nuestras propias funciones para especificar las envolturas para este tema.

Para desenganchar las envolturas Sensei por defecto, añada el siguiente código al final del archivo functions. php en el tema:

Ahora engancha tus propias funciones, que especifican las envolturas de inicio y fin correctas para el tema. Añade esto al final del archivo functions.php:

Ahora, si vuelves a ver la página del concurso, verás que la barra lateral está donde debe estar.

2010-fijo

Cubiertas de paginación

Antes de la versión 1.1.0, Sensei utilizaba las funciones de paginación estándar de WordPress para navegar entre cursos, lecciones y cuestionarios. Sin embargo, hemos mejorado esto actualizando las funciones de paginación para mostrar el siguiente Course, Lección y Cuestionario, teniendo en cuenta la configuración del orden y la configuración de los requisitos previos. Los archivos que se utilizan para lograr esto son

templates/globals/pagination-lesson.php - carga la paginación para las lecciones
templates/globals/pagination-posts.php - carga la paginación por defecto para los cursos
templates/globals/pagination-quiz.php - carga la paginación para los quizzes