Son zamanlar wordpress platformasında daha çox işlədiyimdən öz php class-larımı, kod parçalarımı wordpress-ə keçirmək barədə qərara gəlmişdim. İnline-php kimi çox faydalı plugini(wordpress page,post daxilində php kodların işləməsini təmin edir) aktiv etməklə və theme fayllarına lazımi php kodlar yazmaqla istədiyimiz nəticəni plugin olmadan da almaq olar. Amma təbii ki Plugin məsələnin universal həll yoludur və bu zaman php ilə iş təcrübəsi olmayan developer belə yazdığımız class-ın gördüyü işdən bəhrələnə bilir. İlk plugin olaraq online test,sınaq, psixoloji test və.s. keçirmək üçün bir plugin yazmaq qərarına gəldim. Plugin HEXAM adlanır( HE-müəllifin soyadı,adı; + EXAM-imtahan 🙂 ) və artıq WordPress.org tərəfindən qəbul edilərək plugin bazasına əlavə olunub: http://wordpress.org/extend/modullar/hexam/

Plugin install etmək çox sadə bir şeydir və o haqda ətraflı yazmıram. (qısaca: Dashboard-da admin menyuda Plugins->Add plugin, axtarışda pluginin adını yazıb çıxan nəticədə İNSTALL, daha sonra Activate.)

Plugin dünən əlavə olunub hələ ki yaxşıca test edilməyib, ona görə də hansısa bug-ların olma ehtimalı var. Belə hallar üzə çıxdıqca dərhal həll ediləcək.

Yaxın zamanda istifadə etdiyim digər maraqlı həlləri plugin formasına salaraq wordpress-ə əlavə etmək fikrindəyəm.

Pluginin WordPress.org-a əlavə edilmə prosesi ilk dəfə üçün çətin prosesdir və bu barədə də izahlı yazı yazmaq lazımdır, imkan olan kimi yazacam. Ümid edirəm ki digər php proqramçılar da bundan sonra öz universal həllərini plugin standartına keçirib wordpress-də yerləşdirər.

Indi isə gələk HEXAM pluginin istifadəsinə:

Plugin ingilis dilindədir, amma təbii ki tərtib olunan testlərin mətninin hansı dildə olmasını sayt sahibi seçir və burada hər hansı məhdudiyyət yoxdur, istifadəçiyə görünən hissədə olan sözlərin(Your score is 10 points, Submit your results və.s.) tərcüməsi isə plugin-də yerləşən content.php faylında yerləşir və o faylı wordpress editor-da açaraq istənilən dilə tərcümə etmək olar. Beləliklə siz bloqunuzun dilinə tam uyğun olan testlər tərtib etməkdə sərbəstsiniz.

Sadə iki nümunə ilə yazını bitirək:

1. Tutaq ki, qeydiyyatlı istifadəçilər arasında hər hansı mini yarışma keçirmək istəyirsiniz. İlk öncə sizə test tərtib etmək lazımdır. WordPress Dashboard-da sol menyuda HEXAM settings-ə daxil olursunuz.(təbii ki yuxarıdakı qayda ilə HEXAM-ı artıq install etmişsinizsə), Create new test seçirsiniz və ekrana sual çıxır ki, testinizdə neçə sual olmalı və hər sualda neçə cavab olmalı, siz seçirsiniz, məsələn 3 sual, hər suala 2 cavab. Go to questions seçirsiniz, ekrana suallar üçün pəncərə çıxır, sualları,cavabları və düzgün cavabın nömrələrini doldurub save edirsiniz. Bu zaman default olaraq testin tipi QUİZ yazılır, siz əgər yarışma tipli test istəyirsinizsə, bu zaman o QUİZi silib TEST yazın. Daha sonra Edit your tests bölməsindən istədiyiniz vaxt testi redaktə edə bilərsiniz. Test hazırdır, indi isə wordpress-də hər hansı page və ya post-un redaktəsinə daxil olub kodun hər hansı hissəsinə [hexam id=1 hexam] sətrini əlavə edirsiniz(id=1, burada id-si 1 olan test elan edilir, əgər fərqli id-li test lazımdırsa, müvafiq olaraq id=2, id=3, … və.s. yazmaq lazım). Postu və ya page-i save edib saytınızda həmin səhifəni açırsınız, testiniz hazırdır. İstifadəçilərdən kimin nə qədər bal toplaması haqda cədvələ baxmaq üçün Edit your tests bölməsindən See user results for this test bölməsinə daxil olmaq lazım.

2. Tutaq ki siz saytınıza sadəcə olaraq istifadəçilərin biliyini yoxlayan test və ya psixoloji test qoymaq istəyirsiniz, yəni test yarışma yox, sınaq xarakterlidir. Bu zaman hər şey 1.-dəki kimi olur, sadəcə testi create edərkən default test tipi olan QUİZ-ə toxunmursunuz, o olduğu kimi qalır. Bu tip testən qeydiyyatsız istifadəçilər də yararlana bilir və istifadəçi statistikası bazada yadda saxlanılmır.

One thought on “HEXAM wordpress plugini

  1. Pingback: Milli developerlərimiz

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

required