LearnDash prosfaturi: Agregar un nivel de curso personalizado

Tenga en cuenta que la siguiente solución no es compatible con LearnDash 3.0+
LearnDash compite como uno de los complementos LMS más potentes para WordPress, con una base de usuarios bastante grande y activa. Esto se debe en parte a la flexibilidad que ofrecen a las tres entidades asociadas con cualquier software LMS: desarrolladores de arados, creadores de contenido del curso y usuarios finales, es decir, estudiantes. El código del complemento está estructurado para que sea simple para los desarrolladores como yo agregar toneladas de características y funcionalidades interesantes, según el uso y los requisitos.
Con respecto a los diseñadores de cursos, LearnDash le permite dividir convenientemente el flujo de contenido en tres niveles distintos: cursos, lecciones y temas, la jerarquía está en el mismo orden. Entonces, si las matemáticas son su curso, el álgebra podría ser una posible lección, con polinomios como uno de los temas en la lección. Agregar un nivel de curso personalizado en LearnDash Considere esto: supongamos que tengo una plataforma de eLearning que se dirige a la gran población; Desde los estudiantes hasta la escuela hasta los graduados que desean agregar sus habilidades a través de un curso avanzado en línea, ¿cómo encaja las “matemáticas” allí? ¿O qué sucede si desea dividir aún más los temas en temas de un tipo? ¿No sería bueno agregar sus propios niveles de contenido para LearnDash?
Si los ha puesto en los dos y dos juntos hasta ahora, LearnDash le permite jugar con el nivel de niveles para el curso del curso y cambiarlo como usted le Con un poco de codificación personalizada, puede escribir fácilmente un complemento que agrega esta funcionalidad especial a LearnDash. Aquí está cómo: Paso 1. Agregue un tipo personalizado de publicación: para llamarla “Sección” LearnDash mantiene los niveles de jerarquía como tipos de publicaciones personalizadas. Este tipo de publicación se utilizará para crear un nuevo nivel de jerarquía, llamado secciones. Las secciones se utilizarían para agrupar cursos similares. Para ex. Una sección llamada “secundaria superior” contendrá cursos que son matemáticas, ciencias, inglés y comercio. Cree un complemento con cualquier nombre deseado y el siguiente código en el archivo PHP principal. (name_plin.php) // Agregue una sección de publicación personalizada.
add_action (‘admin_men’, ‘wdm_add_section_post_type’);
Wdm_add_section_post_type function ()
{
$ etiquetas = matriz (
‘Nombre’ => _x (‘secciones’, ‘Tipo general’ Nombre ‘,’ Domain-Text-plug ‘),
‘Singular_name’ => _X (‘Sección’, ‘Singular Type Post’, ‘Domain-text-plug’),
‘Menú_name’ => _x (‘secciones’, ‘Menú Admin’, ‘Domain-text-plug’),
‘name_admin_bar’ => _x (‘section’, ‘Agregue nuevo a la administración BUM
‘add_new’ => _x (‘Agregar nueve’, sección, ‘Your-Plugin-Textdomain’),
‘add_new_item’ => __ (‘Agregar una nueva sección’, ‘Su pluración-outdomain’),
‘New_item’ => __ (‘nueva sección’, ‘su – complemento – textdomain’), ‘edit_item’ => __ (‘Sección de edición’, ‘su – complemento – textdomain’),
‘View_item’ => __ (‘Sección de vista’, ‘Your – Plugin – TextDomain’),
‘all_items’ => __ (‘todas las secciones’, ‘su – complemento – textdomain’),
‘Search_items’ => __ (‘Secciones de búsqueda’, ‘Your – Plugin – TextDomain’),
‘Parent_item_colon’ => __ (‘secciones parentales:’, ‘su – complemento – textdomain’),
‘Not_found’ => __ (‘no se encontraron secciones’, ‘su – complemento – textdomain’),
‘Not_found_in_trash’ => __ (‘No se encontraron secciones en la basura.’, ‘Your – Plugin – TextDomain’),
);
$ args = matriz (
‘etiquetas’ => $ etiquetas,
‘Public’ => Verdadero,
‘Publicly_Queryable’ => True,
‘Show_ui’ => verdadero,
‘Show_in_menu’ => verdadero,
‘Query_var’ => True,
‘Reescritura’ => matrix (‘slug’ => ‘section’),
‘Capability_Type’ => ‘Post’,
‘Has_archive’ => verdadero,
‘jerárquicamente’ => falso,
‘Menú_position’ => nul,
‘Acepta’ => Array (‘Título’, ‘Editor’, ‘Autor’, ‘Miniatura’, ‘Fragmento’, ‘Comentarios’),
);
register_post_type (‘sección’, $ args);
}
Paso 2. Agregue “Sección” como submenú al panel de administración LearnDash después de haber terminado de definir un tipo personalizado de publicación para “secciones”, ahora debe mostrarlo en el menú LearnDash, así como cursos, lecciones y temas. Para hacer esto, solo tiene que agregar el código resaltado con negro a la función registre_post_type utilizada al final del paso 1.); register_post_type (‘sección’, $ args); add_submenu_page (‘LearnDash-Lms’, __ (‘Sección’, ‘Your-Plugin-TextDomain’), ‘Sección’, ‘Edit_courses’, ‘Edit.Php? Post_type = Section’);}
Paso 3. Colocar el elemento de menú “Sección” en LearnDash La implementación exitosa del Paso 2 tiene la desventaja de agregar un elemento de menú llamado “Secciones” en el menú de administración principal, como se muestra a continuación:

Pero bueno, la solución es simple. Para eliminar este elemento del menú de administración y colocarlo debajo del elemento del menú LearnDash, solo usa el siguiente fragmento de código: add_filter (‘LearnDash_submeniu’, ‘wdm_add_submenu_lms’, 10, 1);
Función wdm_add_submennu_lms ($ addsubmen)
{

remove_men_page (‘edit.php? post_type = section’);
devuelve $ addsubenium;
}
Esto es lo que debería ver ahora:
Al hacer clic en las secciones, llegará a una ventana que se vea así:
La página es la misma que tiene que crear cursos, excepto que le permite crear secciones y ver las que ha creado y guardado.
Paso 4. Agregar la meta sección de la sección al curso, lección, asunto y prueba Aquí es donde realmente realiza las asociaciones entre cursos, lecciones, temas y secciones recién creadas, estableciendo la próxima jerarquía en la sección-> Curso-> Lección -> cuestionario> Este meta campo se usa para vincular la sección al curso, lección, asunto y prueba. Use el siguiente código: add_filter (‘LearnDash_post_args’, ‘wdm_add_associite_section_field’, 10, 1);

Wdm_add_associate_section_field function ($ post_args)

{
// Agregar jerarquía a LearnDash
$ data = matrix ();
$ args = matriz (
‘Post_per_page’ => – 1,
‘Post_type’ => ‘Sección’,
‘Post_status’ => ‘Publicación’
);
$ POSTS_Array = get_posts ($ args);
$ data + = [‘0’ => __ (‘–select A Section-‘, ‘Your-Plugin-textdomain’)];
Foreach ($ posts_array como $ posts_array) {
$ data + = [$ POSTS_ARRAY -> ID => $ POSTS_ARRAY -> POST_TITLE];
}
$ VCoursefield = Matrix (
‘Nombre’ => __ (‘Sección Asociada’, ‘Your-Plus-Textdomain’),
‘Type’ => ‘select’,
‘inicial_options’ => $ data,
‘ayuda
‘predeterminado’ => ‘0’);
array_unshift ($ post_args [0] [‘campos’], $ vCoursefield);
array_unshift ($ post_args [1] [‘campos’], $ vCoursefield);
array_unshift ($ post_args [3] [‘campos’], $ vCoursefield);
array_unshift ($ post_args [2] [‘campos’], $ vCoursefield);
Devuelve $ post_args;
}
Allí, ahora ha creado con éxito un nuevo nivel de contenido del curso en LearnDash, llamado secciones! Esto también se puede mostrar en la página del perfil LearnDash.Por defecto, esta página muestra progreso en términos de cursos.Pero ahora se verían así:
Como es obvio, el sistema ahora reconoce la colocación de secciones por encima de los cursos en términos de jerarquía y también muestra progreso.En la práctica, lo mismo se puede aplicar a la prueba del usuario y los informes de progreso.¡Feliz aprendizaje!

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *