UczymyOnline - Platformy kursów online – Q&A #2
Platformy kursów online - Q&A #2

Platformy kursów online – Q&A #2

W marcowym artykule z cyklu Q&A znajdziesz kolejną dawkę wiedzy związaną z codzienną pracą na platformach kursów online. Administrowanie własną platformą kursową może pochłonąć człowieka bez reszty, dlatego po części jest to branża dla fanatyków i pasjonatów e-learningu 🙂 Pracując w takim środowisku można się zetknąć z problemami różnej natury, czasami dotyczą stricte kwestii e-learningowych, a czasami związane są po prostu z samym CMSem. Dzisiaj biorę na warsztat kwestię tłumaczenia fraz w LMS, sposobów zabezpieczenia treści w WordPress oraz możliwości zaimportowania testów do LearnDash.

Jedziemy!

Nie można przetłumaczyć wszystkich fraz w LMS

Frazy pojawiające się na froncie strony niekoniecznie muszą być zawarte w jednym pliku. Czasami nawet zdarza się, że autor motywu/wtyczki zaktualizował kod swojego oprogramowania, ale nie uzupełnił szablonu do tłumaczenia. W takim wypadku trzeba po prostu dodać daną frazę do wygenerowanego szablonu. Możliwe też, że autor nie zadbał o możliwość przetłumaczenia wtyczki/motywu na inne języki, ale to już raczej skrajne przypadki. Co w takim układzie możemy zrobić?

Instalujemy wtyczkę Loco translate i szukamy danej frazy we wtyczce LMS, motywie (jeśli jest ze wsparciem danego modułu LMS) oraz wszelkich dodatkach do LMS. Jeśli pomimo przetłumaczenia z Loco translate nie uzyskaliśmy tłumaczenia na froncie strony, szukamy danej frazy w plikach określonej wtyczki/motywu. Używam w tym celu SSH, ale jeśli nie jest Ci po drodze praca w tym środowisku możesz pobrać pliki na dysk komputera i przeszukać w swoim menedżerze plików. Kiedy fraza zostanie znaleziona i jest poprawnie zdefiniowana (zawiera identyfikator stringu tzw. textdomain) należy zweryfikować, czy textdomain zawarty w pliku zgadza się z tym, co znajduje się w ustawieniach zaawansowanych danego tłumaczenia w loco translate.

printf( esc_html__( "Author: %s", "wtyka_informatyka" ), get_the_author_link() );

W powyższym przykładzie plik ma zdefiniowany textdomain jako “wtyka_informatyka“. Natomiast w Loco translate przestrzeń nazw, do której WordPress załaduje przetłumaczone frazy, została rozpoznana jako “wtykainformatyka“. Różnica w nazwach powoduje, że frazy nie zostaną wyświetlone na stronie. Wiele razy już spotkałam się z taką rozbieżnością i uzupełnienie pola text domain właściwą nazwą, rozwiązywało problem.

No a jeśli przestrzeń nazw jest prawidłowa, a w dalszym ciągu Loco translate nie może znaleźć frazy zdefiniowanej w pliku?

Najwyraźniej autor oprogramowania nie zaktualizował szablonu do tłumaczenia i pozostaje dodać frazę do własnego szablonu. W takim układzie trzeba przejść w tryb edycji szablonu, skopiować frazę z pliku znajdującą się pomiędzy “” (lub ”) i wkleić w oknie Source text.

Po zapisaniu zmian można z powrotem przejść w tryb tłumaczenia wtyczki/motywu, pamiętając o tym żeby wcześniej wykonać synchronizację (Sync). Fraza powinna się pojawić w oknie Source text, więc można ją już przetłumaczyć.

Może się też zdarzyć, że dana fraza występująca na froncie składa się z kilku członów. Przykład: dla frazy”review course” należy wyszukać osobno “review” i “course”. Tutaj również z pomocą przyjdzie przeskanowanie kodu szablonów, wchodzących w skład motywu/wtyczki.

Jak zabezpieczyć dostęp do treści edukacyjnych na WP?

Istnieje sporo takich sposobów, zarówno darmowych jak i płatnych. W pytaniu chodziło konkretnie o darmowe rozwiązania, więc postaram się podać takie sposoby, które nie wymagają żadnych nakładów finansowych. Jednak trzeba się liczyć z tym, że darmówki zwykle mają okrojone funkcjonalności, ale za to spełniają podstawową funkcję, czyli zabezpieczenie treści.

  • Pierwszy sposób, który nie należy do moich ulubionych, to wpisy na hasło. Dlaczego nie lubię? Ponieważ zabezpieczenie nie należy do najmocniejszych, kiepsko z automatyzacją, wprowadzeniem płatności online, nie można zastosować profilowania, ani kontroli dostępu . Nie wiesz tak naprawdę, kto ma dostęp do strony. Dlatego drugi sposób (również darmowy) jest o niebo lepszy.
  • Drugi sposób polega na dołożeniu 1 wtyczki (Paid Memberships Pro), a jeśli myślisz o wprowadzeniu polskich płatności online to kolejne 3 (WooCommerce, Paid Memberships Pro WooCommerce Add On oraz wtyczka płatności online wybranego dostawcy: PayU, tpay, Dotpay, Przelewy24) – wszystkie występują w wersji za Free. Jeśli płatności PayPal nie stanowią dla Ciebie problemu, to sama wtyczka PMP w zupełności wystarcza. W dodatku wybierając bramkę PayPal można wprowadzić płatności cykliczne. Cykliczne płatności są również wspierane dla innych wbudowanych bramek, np. Stripe czy Braintree. Nie mam pojęcia dlaczego niektórzy jeszcze zawracają sobie głowę hasłowaniem postów i ustawianiem ręcznych przelewów. Wspomniany wyżej zestaw wtyczek załatwia jednocześnie kilka funkcji: ograniczenie dostępu do stron i wpisów, ustawienie profili abonamentowych, automatyzację płatności i powiadomień e-mail.
  • Kolejna ciekawa wtyczka do zabezpieczenia treści w WordPress to Restrict User Access. Nie ma co prawda wbudowanej bramki płatności ani integracji z Woo, ale API jest na tyle proste, że dla developera to godzina pracy. Wystarczy wprowadzić funkcjonalność zapisania klienta do konkretnej grupy subskrybentów, po zakupieniu określonego produktu. Sama korzystałam z tego rozwiązania, dopóki nie zaczęłam potrzebować większych funkcjonalności. Sama wtyczka ogranicza dostęp do różnych typów wpisów tzw. custom posts. Natomiast shortcode’ami można manipulować wyświetlaniem określonych treści na stronach. Nie jest to taki do końca darmowy sposób, ale umówmy się: darmowy dla osoby średnio zorientowanej w API/Hooks WordPressa.
  • Zabezpieczenie treści może być również realizowane przez wtyczki LMS. Jednym z takich modułów jest LearnPress (darmowy), który pozwala na stworzenie struktury lekcji i testów dla kursów online i posiada wbudowaną opcję płatności PayPal. Natomiast wprowadzenie polskich płatności wymaga wykupienia dodatku integrującego LearnPress z WooCommerce, więc z tą opcją nie wykonasz już swojego projektu za darmo. Więcej w tym temacie dowiesz się z artykułu Platforma kursów online z LearnPress na WordPress.

Jest jeszcze kilka innych, darmowych wtyczek z możliwością zabezpieczania treści. Są to głównie rozwiązania wyposażone w bramkę płatności PayPal. Wprowadzenie dodatkowych metod płatności zwykle wiąże się z płatną integracją lub zaangażowaniem developera.

Czy istnieje możliwość zaimportowania testów z pliku tekstowego do LearnDash?

Moduły LMS na platformie WordPress posiadają określoną strukturę testów i pytań. Zwykle są to po prostu strony typu tzw. custom post, więc przerzucenie testów z jednego LMS do innego LMS nie jest prostą sprawą. W takim układzie należy wyeksportować dane testów i pytań do pliku, np. CSV/XLS, odpowiednie poukładanie rekordów w pliku i zaimportowanie do LearnDash. Poukładanie/dodanie rekordów w pliku nie jest jakoś szczególnie uciążliwe dla osób, które radzą sobie z kodem. Można to zrobić ręcznie, ale jak jest sporo pytań, gotowy skrypt zaoszczędzi nam sporo czasu. Plik musi być tak skonstruowany, aby było wiadomo, w jakiej postaci dana informacja ma trafić do bazy danych.

Odpowiednio przygotowany plik XLS importuje się za pomocą specjalnej wtyczki. Dla LearnDash istnieją płatne rozwiązania: https://wooninjas.com/wn-products/learndash-quiz-importexport/ oraz wtyczka droższa i bardziej zaawansowana ze strony https://www.wppluginsforyou.com/product/excel-to-learndash-wordpress-plugin/ .

Nic nie zapowiada w najbliższej przyszłości, że wraz z wersją LearnDash 3.0 zostanie wprowadzona wbudowana funkcja importu testów. Ale kto wie… klienci głosują za tą opcją, więc może jednak developerzy wezmą ją pod uwagę przy wprowadzaniu kolejnej wersji.

Trzy pytania, trzy odpowiedzi, a za miesiąc kolejny artykuł z cyklu Q&A. Jeśli znasz inne/lepsze/ciekawsze metody rozwiązań na opisane wyżej problemy, podziel się nimi w komentarzu. Z chęcią przetestuję 🙂

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Privacy Policy Settings