Menú adicional

¡Consiga MemberPress hoy mismo! ¡Empieza a cobrar por los contenidos que creas! Obtenga MemberPress ahora
  1. Inicio
  2. Base de conocimientos
  3. Cursos
  4. Creación de cursos
  5. Mostrar el icono de BLOQUEO para las lecciones protegidas en el esquema del curso

Mostrar el icono de BLOQUEO para las lecciones protegidas en el esquema del curso

Nota: Este es un artículo avanzado para usuarios o desarrolladores familiarizados con PHP. Sólo se aplica a las lecciones creadas en MemberPress Course Add-on cuando la plantilla Courses Pro está activada en MemberPress > Configuración > pestaña ReadyLaunch.

Si deseas que aparezca un icono de CANDADO junto a tus lecciones protegidas en el esquema del curso, tanto en la página principal de «Cursos» como en la página de la lección, puedes hacerlo siguiendo las instrucciones que se indican a continuación.

En primer lugar, tendrás que acceder a tu servidor y copiar el archivo wp-content/plugins/memberpress-courses/app/views/courses/courses_classroom_section_lessons.php y edítalo en tu editor de archivos.

En su archivo, debe reemplazar el siguiente código:

is_available(); $has_completed_lesson = is_user_logged_in() && models\UserProgress::has_completed_lesson($current_user_id, $lesson->ID);

$attempt = $lesson->post_type == models\Quiz::$cpt ? models\Attempt::get_one(['user_id' => $current_user_id, 'quiz_id' => $lesson->ID]) : false; ?>
<div id="mpcs-lesson-<?php echo esc_attr($lesson->ID); ?>" class="mpcs-lesson<?phpif($has_completed_lesson) {  echo "completed ";} else if(!$lesson_available || (get_post_type() == models\Quiz::$cpt && $lesson->ID != get_the_ID())) {  echo "locked ";}if($lesson_available && $is_sidebar && $lesson->ID == get_the_ID()) echo "current ";if($show_bookmark && isset($next_lesson->ID) && $next_lesson->ID == $lesson->ID) echo "current ";?>">

<?php if($lesson_available) : ?>
<a href="/es/</?php echo esc_url(get_permalink($lesson->ID)); ?>" class="mpcs-lesson-row-link">

<?php else: ?>
<span class="mpcs-lesson-row-link">
<?php endif; ?>

<div class="mpcs-lesson-progress">
<?php if($has_completed_lesson) : ?>

<span class="mpcs-lesson-complete"><i class="mpcs-ok-circled"></i></span> ID == get_the_ID()) || ($show_bookmark &amp;&amp; $next_lesson-&gt;ID == $lesson-&gt;ID)) : ?&gt;

<span class="mpcs-lesson-current"><i class="mpcs-adjust-solid"></i></span>
<?php else: ?>

<span class="mpcs-lesson-not-complete"><i class="mpcs-circle-regular"></i></span>

<?php endif; ?>
</div>

<div class="mpcs-lesson-link">
<i class="<?php echo esc_attr($lesson->post_type); ?>-icon"></i>
post_title); ?&gt;

is_complete()) : ?&gt;

<span class="mpcs-lesson-list-quiz-score">(get_score_percent()); ?&gt;)</span>

<?php endif; ?>
</div>

<div class="mpcs-lesson-button">

El código anterior debe sustituirse por éste:

is_available(); $lesson_available = $has_completed_lesson = is_user_logged_in() &amp;&amp; models\UserProgress::has_completed_lesson($current_user_id, $lesson-&gt;ID);

$attempt = $lesson-&gt;post_type == models\Quiz::$cpt ? models\Attempt::get_one(['user_id' =&gt; $current_user_id, 'quiz_id' =&gt; $lesson-&gt;ID]) : false;

$lesson_protected = MeprRule::is_locked( get_post( $lesson-&gt;ID ) ); ?&gt;

<div id="mpcs-lesson-<?php echo esc_attr($lesson->ID); ?>" class="mpcs-lesson<?phpif($has_completed_lesson) {  echo "completed ";} else if(!$lesson_available || (get_post_type() == models\Quiz::$cpt && $lesson->ID != get_the_ID())) {  echo "locked ";}if($lesson_available && $is_sidebar && $lesson->ID == get_the_ID()) echo "current ";if($show_bookmark && isset($next_lesson->ID) && $next_lesson->ID == $lesson->ID) echo "current ";?>"> 

<?php if($lesson_available) : ?>
<a href="/es/</?php echo esc_url(get_permalink($lesson->ID)); ?>" class="mpcs-lesson-row-link">
<?php else: ?>
<span class="mpcs-lesson-row-link">
<?php endif; ?>

<div class="mpcs-lesson-progress">
<?php if($lesson_protected) : ?>

<span class="mpcs-lesson-locked"><i class="mpcs-lock"></i></span>
<?php elseif($has_completed_lesson) : ?>

<span class="mpcs-lesson-complete"><i class="mpcs-ok-circled"></i></span> ID == get_the_ID()) || ($show_bookmark &amp;&amp; $next_lesson-&gt;ID == $lesson-&gt;ID)) : ?&gt;

<span class="mpcs-lesson-current"><i class="mpcs-adjust-solid"></i></span>
<?php else: ?>
<span class="mpcs-lesson-not-complete"><i class="mpcs-circle-regular"></i></span>
<?php endif; ?>
</div>

<div class="mpcs-lesson-link">
<i class="<?php echo esc_attr($lesson->post_type); ?>-icon"></i>
post_title); ?&gt;

is_complete()) : ?&gt;

<span class="mpcs-lesson-list-quiz-score">(get_score_percent()); ?&gt;)</span>
<?php endif; ?>
</div>

<div class="mpcs-lesson-button">

Una vez hecho esto, ve a la wp-content/themes/YOUR-CURRENT-THEME/ y cree una nueva carpeta llamada memberpress. Dentro de esa carpeta, crea otra llamada cursos. A continuación, pega el archivo que acabas de editar en esa carpeta. La estructura de carpetas en la que se encuentra tu archivo debería tener este aspecto: wp-content/themes/YOUR-CURRENT-THEME/memberpress/courses/courses_classroom_section_lessons.php.

¡Ya está! Ahora tus lecciones protegidas deberían aparecer con un icono de candado delante del título, en lugar del icono predeterminado del documento, en el índice del curso. Además, el enlace a la lección protegida aparecerá desactivado.

SOLUCIÓN DE PROBLEMAS:

Si no funciona, quizá tengas que consultar las herramientas de desarrollador de tu navegador para ver si aparece algún error en la consola.

¿Le ha resultado útil este artículo?

Artículos relacionados

chica del ordenador

¡Consiga MemberPress hoy mismo!

Empieza a cobrar por los contenidos que creas.