Już jakiś czas temu myślałem o tym, jak najlepiej zrobić stronę typu demotywatory, kwejk, czy 9gag wykorzystując do tego celu WordPress.
Czy pchanie się z czymś takim do WordPress ma w ogóle ma sens? Co będzie potrzebne? Ile czasu to zajmie i co będzie oferował nasz twór?
Pytań pojawiających się po drodze z pewnością będzie znacznie więcej i w tym artykule postaram się na nie wszystkie odpowiedzieć.
Zacznijmy od określenia funkcjonalności, czyli tego, co taki klon 9gaga powinien mieć/potrafić:
- po pierwsze ciekawy, przyciągający oko nowoczesny motyw,
- formaty wpisów,
- zestaw widgetów do promowania najlepszych treści,
- integracje z Facebookiem – Page Plugin, Login, Like, Share, oraz komentarze,
- obsługa kategorii i tagów,
- profile użytkowników,
- prosty system głosowania.
Jak tak pomyśleć, mając już zainstalowany WordPress, to właściwie wystarczyłoby wybrać fajny tematyczny motyw i już można zacząć dodawać posty. Teraz tylko doinstalować niezbędne wtyczki i już można zacząć promować naszą stronę. Ma to sens i zajmie co najwyżej tyle co wyszukanie i zainstalowanie wtyczek wypełniających brakujące funkcje.
Drugim, nieco lepszym podejściem do problemu, niestety o wiele bardziej czasochłonnym, byłoby napisanie dedykowanego motywu, w tym dodanie nowego typu posta, wraz z różnymi formatami (obrazki statyczne, gify, filmy z YouTube, teksty, kawały, chaty, cytaty itp.), tak aby każdy z nich wyświetlał się trochę inaczej w nieco niestandardowy sposób. Do tego coś, co ułatwiłoby proces dodawania postów, szczególnie obrazków. Formularze po stronie frontendu, generator memów i pewnie kilka innych rzeczy.
W tym artykule sprawdzimy, co uda nam się osiągnąć korzystając jedynie z darmowych gotowców.
Ciekawy, przyciągający oko nowoczesny motyw
Aby zbytnio nie komplikować na potrzeby tego artykułu wybrałem po prostu domyślny motyw Twenty Fifteen, który obecnie instaluje się razem z WordPressem. Wy, do tego projektu możecie wykorzystać swój ulubiony, jak i każdy inny, motyw do WordPress, który Wam się podoba.
Kryteria wyboru motywu
Jeżeli chcemy mieć widgety w sidebarze, to szukamy motywów z sidebarem. Jeżeli nie chcemy mieć nic obok postów, to szukamy motywu, który nie ma sidebara.
Obowiązkowo także responsywność.
Jeżeli planujesz wrzucać na swoją stronę animowane gify, a prawie na pewno tak jest, warto dodać plugin przyspieszający ładowanie strony – zamiast animacji ładowany jest obrazek podglądu, po kliknięciu którego ładowany jest dopiero właściwy GIF z animacją.
Dodawanie do strony multimediów
Multimedia, jak to w WordPressie – zaraz po instalacji możemy dodać je w kokpicie do biblioteki mediów, kolejno osadzać je w postach i publikować – nie ma tutaj żadnej filozofii.
Problem rodzi się w momencie, gdy chcemy pozwolić użytkownikom na dodawanie swoich postów z multimediami. Z pewnością nie chcielibyśmy dopuścić do sytuacji, w której użytkownik wrzuca setki zdjęć do naszej biblioteki i do tego publikuje je w postach bez żadnego nadzoru, prawda?
Najprostszym wyjściem może być instalacja pluginu do zarządzania rolami i prawami użytkowników w WordPress. Dzięki niemu będziemy mogli dodać do strony zupełnie nową rolę dla naszych użytkowników, lub też edytować którąś z istniejących i ustawić, co kto może.
W domyślnej konfiguracji WordPressa role subskrybenta i współpracownika (contributor) mają trochę za niskie uprawnienia (w tym przypadku brakuje możliwości dodawania mediów), natomiast pozostałe role pozwalają zdecydowanie na zbyt wiele. Dlatego musimy zmodyfikować jedną z istniejących ról, albo dodać nową.
Ja proponuję utworzenie nowej roli. Jak to zrobić? Po zainstalowaniu i aktywowaniu pluginu User role Editor, przechodzimy do sekcji Użytkownicy → User Role Editor.
Plugin do pobrania tutaj: User Role Editor.
W oknie głównym pluginu, po prawej stronie znajdują się guziki z dostępnymi akcjami. Wybieramy Add role, aby dodać nową, zdefiniowaną przez nas rolę użytkownika. W następnym kroku podajemy identyfikator nowej roli – możecie tam wpisać cokolwiek (tylko bez żadnych polskich liter i znaków specjalnych). Zatwierdzamy wprowadzone dane.
Teraz upewniamy się, że na pewno edytujemy właściwą rolę – potwierdzimy to, patrząc na górę okna pluginu, gdzie tuż obok etykiety Select Role and change its capabilities powinniśmy zobaczyć wcześniej wprowadzoną nazwę roli – jeżeli tak nie jest wybieramy ją z menu.
Kolejny krok to nadanie edytowanej roli przywilejów, czyli zdefiniowanie akcji, które dany użytkownik będzie mógł robić w panelu.
Nasz użytkownik będzie potrzebował tylko tych uprawnień:
- read – użytkownik będzie mógł czytać posty,
- edit_posts – użytkownik będzie mógł dodawać nowe posty i je edytować, ale tylko do czasu, gdy Administrator dany post skasuje lub opublikuje.
- delete_posts – użytkownik będzie mógł usuwać swoje posty, o ile administrator jeszcze ich nie opublikował,
- upload_files – użytkownik będzie mógł dodawać multimedia.
Po zaznaczeniu wspomnianych uprawnień (wszystkie pozostałe przywileje powinniśmy wyłączyć) klikamy niebieski guzik Update, aby zachować wprowadzone zmiany.
Nowa rola powinna być już dostępna podczas edycji kont użytkowników i w Ustawieniach na karcie Ogólne, gdzie powinniśmy ustawić opcję Domyślna rola nowych użytkowników na naszą nową rolę.
Dodawanie postów mamy zrobione, ale przydałoby się jeszcze wprowadzić limit na dodawanie multimediów. Do tego celu możemy wykorzystać choćby ten plugin:
https://wordpress.org/plugins/upload-quota-per-user/
Teraz każdy nowy użytkownik będzie otrzymywał rolę „user”. Taki użytkownik będzie mógł zalogować się do kokpitu, dodawać posty i wgrywać do nich limitowaną ilość mediów. Wszystkie zapisane posty będą przechowywane ze statusem „do przeglądu”, do czasu aż Moderator je przejrzy – odrzuci bądź opublikuje. Moderowany post staje się nieaktywny na koncie użytkownika – nie może on już go więcej edytować, ani skasować.
Powiedziałbym, że jest to w miarę satysfakcjonujące rozwiązanie, jednak do tego problemu możemy podejść także inaczej. Przykładowo możliwe jest całkowite ukrycie toolbara WP i całego kokpitu przed użytkownikami. W takim przypadku jednak, musielibyśmy stworzyć dedykowane formularze do dodawania mediów we frontendzie. Na razie jednak zostawmy to tak jak jest.
Zestaw widgetów do promowania najlepszych treści
Widgety mogą być bardzo pomocne przy promowaniu najbardziej chodliwych materiałów na naszej stronie. Już podczas wybierania motywu warto zwrócić uwagę, czy w motywie jest dostępny sidebar.
W myśl zasady „4xN”, czyli najpopularniejsze, najciekawsze, najprzydatniejsze i najlepsze – do sidebara powinniśmy dodać widety, które zainteresują użytkowników i zachęcą ich do przejścia choćby do kolejnej strony.
Polecane pluginy z ciekawymi widetami
Przede wszystkim dostarczony razem z WordPressem widget Tekst. Nie wielu ludzi wie, że ten widet umożliwia dodanie kodu HTML i/lub JavaScript. Nie musimy zatem szukać dodatkowych pluginów do wyświetlania:
- Facebook Page Plugin,
- Google+ Badge,
- Twitter Timeline,
- Filmików YT (iframe),
- Reklam Adsense,
- i wielu innych rzeczy.
Wystarczy wygenerowany kod pluginu wkleić do treści widgetu i zapisać.
Kolejną rzeczą wartą dodania, są powiązane ze sobą tematycznie posty:
Ostatnio dodane posty z miniaturkami:
Najlepsze posty z miniaturkami:
- https://wordpress.org/plugins/top-10/
- https://wordpress.org/plugins/popular-widget/
- https://wordpress.org/plugins/stylish-popular-posts/
Do tego brakuje nam jeszcze pluginu do wyświetlania najlepiej ocenionych postów, ale o tym przeczytacie w dalszej części artykułu.
Integracja z Facebookiem
Na naszej stronie będziemy na pewno potrzebować: Facebook Page Plugin, przycisków do lajkowania i udostępniania, oraz logowania z Facebookiem i opcjonalnie komentarzy.
W repozytorium znaleźć można naprawdę wiele świetnych pluginów oferujących pojedyncze funkcje albo duże kombajny ze wszystkimi dodatkami łączącymi naszą stronę z Facebookiem.
Moim zdaniem w tym przypadku lepiej poszukać jednego pluginu ze wszystkimi dodatkami, których potrzebujemy – jeżeli zainstalujemy oddzielne pluginy do pojedynczych funkcji to może się okazać, że albo nie będą one działały razem, albo będziemy doświadczać podwójnego ładowania niektórych funkcji, daje to nieciekawy efekt i spowalnia działanie strony. Nie zawsze jednak możliwe jest zastosowanie danego pluginu, i prawie zawsze czegoś jeszcze w nim brakuje, stąd potrzeba szukania i testowania różnych konfiguracji.
Polecane pluginy
- https://pl.wordpress.org/plugins/super-socializer/
- https://pl.wordpress.org/plugins/spider-facebook/
Do tego dobrze jest poszukać pluginu, który będzie zapisywał dodane komentarze również w bazie danych WordPress – dzięki czemu będziemy mogli w przyszłości zrezygnować z komentarzy Facebooka.
Ostatni plugin to kompletne rozwiązanie ale tylko dla komentarzy, ponieważ nie testowałem jego działania z wcześniejszymi wtyczkami, to nie mogę powiedzieć, czy będą razem współpracować.
Obsługa kategorii i tagów
Jeżeli zdecydowaliśmy się iść po najniższej linii oporu, czyli na dodawanie treści do postów, to kategorie i tagi są oczywiście w pakiecie i nic więcej tutaj nie musimy robić.
Jeżeli ktoś pokusił się o stworzenie nowego typu postów, to warto rozważyć także dodanie tych taksonomii – pozwoli to użytkownikom na odnajdywanie powiązanych tematycznie wpisów i teoretycznie powinno zwiększyć ilość odsłon na Twojej stronie.
Profile użytkowników
Profile użytkowników możemy w bardzo prosty sposób rozwiązać instalując do tego celu wtyczkę BuddyPress.
Dzięki wtyczce możemy stworzyć coś w stylu własnego portalu społecznościowego. BudyPress pozwala zarejestrowanym użytkownikom na tworzenie własnych stron profilowych, m.in. wgranie własnego awatara, dodania informacji o sobie, używanych komunikatorach i mediach społecznościowych. Oprócz tego możemy wyświetlać strumienie aktywności użytkowników, oraz dostawać powiadomienia. Wtyczka pozwala także na prywatne wiadomości pomiędzy użytkownikami, oraz na tworzenie grup.
Prosty system głosowania
Ostatnia sprawa to dodanie czegoś, co obok standardowego komentowania, lajkowania i udostępniania pozwoliłoby na większe angażowanie użytkowników – do tego celu możemy wprowadzić system plusowania i minusowania postów, albo system gwiazdek:
- https://wordpress.org/plugins/kodex-posts-likes/
- https://wordpress.org/plugins/wp-postratings/
- https://wordpress.org/plugins/yet-another-stars-rating/
- https://wordpress.org/plugins/kk-star-ratings/
Albo alternatywnie wprowadzić coś podobnego do ostatniej nowości z Facebooka – emoji z reakcjami. W repozytorium jest już kilka gotowych pluginów tego typu, moim zdaniem warto sprawdzić te:
Zestaw innych dodatkowych pluginów
Plugin, który automatycznie doda nowy post z obrazkiem wyróżniającym za każdym razem, gdy nowy obrazek jest wgrywany do biblioteki mediów.
- https://wordpress.org/plugins/automatic-featured-image-posts/
- https://wordpress.org/plugins/post-a-pic/
Całkowita automatyzacja publikowania postów na Facebooku. Wszystkie opublikowane w WordPressie posty, zostaną automatycznie dodane do fanpage-a na Facebooku.
Jak wyżej – opcja autopostowania dla Twittera
Wielofunkcyjny plugin oferujący możliwość dodania do front-endu formularza (za pomocą shortcode), pozwalającego odwiedzającym na dodawanie postów wraz z obrazkiem wyróżniającym, oraz z wyborem typu posta, tagów i kategorii. Zintegrowany login Facebook, Google+, e-mail, Google captcha i wiele więcej. Plugin zdecydowanie warty sprawdzenia.
Wyświetlanie dowolnego publicznego strumienia z Facebooka – na stronie, lub w widgetcie dzięki shortcode. Responsywny i indeksowalny przez roboty.
Leniwe ładowanie grafik i postów – w miarę przewijania strony w dół ładowane są kolejne strony z postami.
Umożliwia dodanie do naszej strony własnych strumieni aktywności z takich źródeł jak Strony na Facebooku, grupy, eventy, albumy zdjęć, widea, Twitter, Vine, Instagram, Pinterest oraz YouTube.
Meme Generator
Podsumowanie
Moim zdaniem z takim zestawem pluginów jesteśmy w stanie stworzyć całkiem fajną, funkcjonalną stronę, a pod wieloma względami przewyższającą nawet oryginały. Co prawda multum funkcjonalności to nie jest zawsze to, czego oczekują użytkownicy. Dlatego należy jeszcze zadbać, aby strona była użyteczna, oraz przyjazna dla użytkownika. Pamiętajcie, aby nie przesadzić z liczbą pluginów, oraz o optymalizacji strony pod kątem SEO, cache, rozmiary obrazków. 🙂