LearnDash ProTips: Özel Bir Kurs Seviyesi Ekleme


Aşağıdaki çözümün LearnDash 3.0+ ile uyumlu olmadığını unutmayın.

LearnDash , oldukça geniş ve aktif bir kullanıcı tabanıyla WordPress için en güçlü LMS eklentilerinden biri olarak rekabet ediyor. Bu kısmen, herhangi bir LMS yazılımıyla ilişkili üç varlığın tümüne sunduğu esneklikten kaynaklanmaktadır: eklenti geliştiricileri, kurs içeriği oluşturucuları ve son kullanıcılar, yani öğrenciler. Eklentinin kodu, benim gibi geliştiricilerin kullanım ve gereksinimlere göre tonlarca harika özellik ve işlevsellik eklemesi için çocuk oyuncağı olacak şekilde yapılandırılmıştır.

Kurs tasarımcılarına gelince, LearnDash, içerik akışını uygun bir şekilde üç farklı seviyeye ayırmanıza izin verir: Kurslar , Dersler ve Konular, hiyerarşi aynı sırada düşer. Dolayısıyla, Dersiniz Matematik ise, Cebir olası bir Ders olabilir ve Polinomlar ders içindeki Konulardan biri olabilir.

LearnDash'te Özel Bir Kurs Seviyesi Ekleme

Şunu düşünün: Diyelim ki geniş bir demografik kitleye hitap eden bir e-öğrenme platformum var; Hala okulda olan öğrencilerden gelişmiş bir çevrimiçi kurs aracılığıyla becerilerine bir şeyler eklemek isteyen mezunlara kadar, 'Matematik' oraya nasıl sığar? Ya da Konuları bir tür alt konulara bölmek istiyorsanız? LearnDash için kendi içerik seviyelerinizi eklemek güzel olmaz mıydı?

Şimdiye kadar ikisini ve ikisini bir araya getirdiyseniz, LearnDash, kurs içeriği için seviye hiyerarşisi ile oynamanıza ve beğeninize göre ayarlamanıza izin verir. Biraz özel kodlamayla, LearnDash'e bu özel işlevselliğe ekleyen bir eklenti kolayca yazılabilir. İşte nasıl:

Adım 1. Özel Bir Gönderi Türü Ekleyin: Buna 'Bölüm' Diyelim

LearnDash, hiyerarşi seviyelerini özel gönderi türleri olarak korur. Bu gönderi türü, Sections adı verilen yeni bir hiyerarşi düzeyi oluşturmak için kullanılacaktır. Bölümler, benzer Kursları birlikte gruplandırmak için kullanılacaktır. Örn. “Yüksek Ortaöğretim” adlı bir Bölüm Matematik, Fen, İngilizce ve Ticaret derslerini içerecektir.

Ana php dosyasına istediğiniz herhangi bir ad ve aşağıdaki kodla bir eklenti oluşturun. (eklenti_adı.php)

 // Özel yazı tipi bölümü ekleyin.

add_action( 'admin_menu' , 'wdm_add_section_post_type' );

işlev wdm_add_section_post_type ()

{

   $etiketler = dizi (

       'name' => _x( 'Bölümler' , 'yazı tipi genel adı' , 'eklenti-metin-alanınız' ),
       'singular_name' => _x( 'Bölüm' , 'yazı tipi tekil isim' , 'eklenti-metin-alanınız' ),

       'menu_name' => _x( 'Bölümler' , 'yönetici menüsü' , 'eklenti-metin-alanınız' ),

       'name_admin_bar' => _x( 'Bölüm' , 'yönetici çubuğuna yeni ekle' , 'eklenti-metin-alanınız' ),

       'add_new' => _x( 'Yeni Ekle' , bölüm , 'eklenti-metin-alanınız' ),

       'add_new_item' => __( 'Yeni Bölüm Ekle' , 'eklenti-metin-alanınız'),

       ' new_item ' => __(' Yeni Bölüm ', ' - eklentiniz - metin etki alanınız '),

       ' edit_item ' => __(' Bölümü Düzenle ', ' - eklentiniz - metin etki alanınız '),

       ' view_item ' => __(' Bölümü Görüntüle ', ' - eklentiniz - metin etki alanınız '),

       ' all_items ' => __(' Tüm Bölümler ', ' - eklentiniz - metin etki alanınız '),

       ' search_items ' => __(' Bölümleri Ara ', ' - eklentiniz - metin etki alanınız '),

       ' parent_item_colon ' => __(' Ana Bölümler : ', ' - eklentiniz - metin etki alanınız '),

       ' not_found ' => __(' Bölüm bulunamadı . ' , ' - eklentiniz - metin etki alanı '),

       ' not_found_in_trash ' => __(' Çöp Kutusunda bölüm bulunamadı . ', ' - eklenti - metin etki alanınız '),

   );

   $args = dizi(

       ' etiketler ' => $etiketler,
       ' genel ' => doğru,
       ' publicly_queryable ' => doğru,
       ' show_ui ' => doğru,
       ' show_in_menu ' => doğru,
       ' query_var ' => doğru,
       ' yeniden yaz ' => dizi( ' slug ' => ' bölüm ' ),
       ' kabiliyet_tipi ' => ' gönderi ',
       ' has_archive ' => doğru,
       ' hiyerarşik ' => yanlış,
       ' menu_position ' => boş,

       ' => diziyi destekler ( ' başlık ', ' düzenleyici ', ' yazar ', ' küçük resim ', ' alıntı ', ' yorumlar '),

   );

   register_post_type(' bölüm ', $args);

  }

Adım 2. Learndash Yönetici Panelinde 'Bölüm'ü Alt Menü Olarak Ekleyin

'Bölümler' için özel bir gönderi türü tanımlamayı tamamladığınızda, bunu tıpkı Kurslar, Dersler ve Konular gibi LearnDash menüsü altında görüntülemeniz gerekir.

Bunu yapmak için, siyahla vurgulanan kodu Adım 1'in sonunda kullanılan register_post_type işlevine eklemeniz yeterlidir.

);

register_post_type('bölüm', $args);

add_submenu_page('learndash-lms', __('Bölüm', 'eklenti-metin-alanınız'), 'Bölüm', 'düzenleme_kursları', 'edit.php?post_type=bölüm');

}

Adım 3. LearnDash Altına 'Bölüm' Menü Öğesini Yerleştirme

2. Adımın başarıyla uygulanmasının dezavantajı, aşağıda gösterildiği gibi ana Yönetici menüsüne 'Bölümler' adlı bir menü öğesinin eklenmesidir:

ld-özel düzey

Ama hey, düzeltme basit. Bu öğeyi yönetici menüsünden kaldırmak ve LearnDash menü öğesinin altına yerleştirmek için aşağıdaki kod parçacığını kullanmanız yeterlidir:

 add_filter( 'learndash_submenu' , 'wdm_add_submenu_lms' , 10 , 1 );

işlev wdm_add_submenu_lms ( $addsubmenu )
{

 remove_menu_page( 'edit.php?post_type=section' );
$addsubmenu döndür ;

}

İşte şimdi nasıl görünmesi gerektiği:

ld-özel seviye2

Bölümlere tıklamak sizi şuna benzeyen bir pencereye götürür:

ld-özel seviye3

Bu sayfa, Bölümler oluşturmanıza ve oluşturduğunuz ve kaydettiğiniz bölümleri görüntülemenize izin vermesi dışında, kurs oluşturmak için sahip olduğunuz sayfalara benzer.

Adım 4. Ders, Ders, Konu ve Kısa Sınava Bölüm Meta Alanı Ekleme

Burada, Kurslar, Dersler, Konular ve yeni oluşturulan Bölümler arasındaki ilişkileri gerçekten kurduğunuz ve süreçte aşağıdaki hiyerarşiyi kurduğunuz yer burasıdır.

Bölüm->Ders->Ders->Konu->Quiz

Bu meta alan, bölümü ders, ders, konu ve kısa sınava bağlamak için kullanılır. Aşağıdaki kodu kullanın:

 add_filter( 'learndash_post_args' , 'wdm_add_associate_section_field' , 10 , 1 );

wdm_add_associate_section_field işlevi ( $post_args )

{

// Learndash'e hiyerarşi ekleme

   $veri = dizi ();

              $args = dizi (

              'posts_per_page' => - 1 ,
              'post_type' => 'bölüm' ,
              'post_status' => 'yayınla'

              );

              $posts_array = get_posts( $args );

              $data + = [ '0' => __( '-- Bir Bölüm Seçin --' , 'eklenti-metin-alanınız' )];

foreach ( $posts_array as $posts_array ) {

                   $veri + = [ $posts_array -> ID => $posts_array -> post_title];

               }

               $vcoursefield = dizi (

                  'name' => __( 'İlişkili Bölüm' , 'eklenti-metin-alanınız' ),

                  'type' => 'seç' ,
                 'initial_options' => $veri ,
                  'help_text' => __( 'İlişkilendirilecek bölümü seçin' , 'eklenti-metin-alanınız' ),
                  'varsayılan' => '0' );

               array_unshift ( $post_args [ 0 ][ 'alanlar' ], $vcoursefield );
               array_unshift ( $post_args [ 1 ][ 'alanlar' ], $vcoursefield );
               array_unshift ( $post_args [ 3 ][ 'alanlar' ], $vcoursefield );
               array_unshift ( $post_args [ 2 ][ 'alanlar' ], $vcoursefield );

$post_args döndür ;
}

Orada, LearnDash'te Bölümler adı verilen yeni bir kurs içeriği seviyesini başarıyla oluşturdunuz!

Bu, LearnDash profil sayfasında da görüntülenebilir. Varsayılan olarak, bu sayfa Kurslar açısından ilerlemeyi görüntüler. Ama şimdi şöyle görünecek:

ld-özel-seviye4

Görüldüğü gibi, sistem artık Bölümlerin Kurslar üzerindeki yerleşimini hiyerarşi açısından tanıyor ve aynı şekilde ilerlemeyi gösteriyor. Pratikte, aynı şey Test raporlarına ve Kullanıcı ilerlemesine de uygulanabilir.

Mutlu Öğrenme!

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

Check Also

Divi's Theme Builder ile Özel Global Başlık Nasıl Oluşturulur

Artık Tema Oluşturucu burada olduğuna göre, web sitenizi A'dan Z'ye kurmanıza yardımcı olacak yeni eğitimlere dalmak için sabırsızlanıyoruz. Buna Divi'nin yerleşik seçeneğini kullanarak özel başlıklar oluşturma da dahildir. Bu eğitimde Divi's Theme Builder'ı kullanarak global bir başlık oluşturmaya odaklanacağız. Bu sayfaya veya gönderiye farklı bir başlık atamadıysanız, web sitenizin her yerinde genel bir başlık görünecektir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir