WPAdmin.pl

Jak założyć bloga na WordPressie

WordPress Jak dodać blog do strony

W tym wpisie zajmiemy się kilkoma aspektami tworzenia bloga na platformie WordPress. Będziemy tworzyć lub dodawać moduł bloga na nowej lub już działającej stronie opartej o WordPress.

Pomysł na ten wpis pochodzi właściwie z oficjalnego forum WP, gdzie ostatnio skumulowało się kilka pytań typu:

No i dlatego w tym wpisie zastanowimy się, jak w dedykowanej blogom platformie zrobić bloga!

Śmieszy mnie to tym bardziej, że nie tak dawno WordPress nadawał się tylko do blogów, a teraz nie wiadomo jak w nim założyć bloga… 😀

Blog to wpisy

Tak jak wspomniałem we wstępie, kiedy na rynku pojawił się WordPress, był to skrypt przeznaczony tylko i wyłącznie do tworzenia blogów. Od tamtego czasu minęło już kilka ładnych lat, powstało całe mnóstwo poradników w internecie i wydrukowanych zostało wiele książek na ten temat.

WordPress przestał być platformą blogową i stał się pełnoprawnym CMS-em mniej więcej wtedy, kiedy jego twórcy zaprezentowali możliwość dodawania niestandardowych typów postów (2010 – wersja 3.0 Thelonious).

Obecnie, jeżeli chcesz zacząć prowadzić bloga, to WordPress jest najlepszym wyborem. Już po jego instalacji, do dyspozycji mamy kilka typów postów:

Dla nas najważniejsze w tym momencie są Wpisy i Strony. Jaka jest różnica między nimi?

Wpisy są typem postu przeznaczonego typowo pod prowadzenie bloga, są bowiem sortowane i wyświetlane odwrotnie chronologicznie – od najnowszych wpisów na stronie głównej, do tych najstarszych na stronie ostatniej. Wpisy można grupować w kategorie, oraz przypisywać im tagi.

Strony w przeciwieństwie do Wpisów mogą być organizowane hierarchicznie. W normalnych warunkach nie można przypisać ich do kategorii ani tagów. Strony nadają się idealnie do tworzenia stron statycznych, które muszą być zawsze „pod ręką” – przykładami takich stron mogą być:

Wpisy to polecany typ posta do prowadzenia bloga. Jeżeli chcesz dodać do strony WWW treści nie-blogowe, to Strony prawdopodobnie będą lepszym wyborem.

Do tego momentu wszystko powinno być w miarę proste i zrozumiałe, ale co jeżeli masz, albo w przyszłości planujesz dodawać do strony także artykuły, newsy, recenzje i wiele innych różnych typów treści, które chciałbyś trzymać oddzielnie od bloga? Co jeżeli już masz masę artykułów i chcesz dodać także bloga?

 

 

Przykładowy scenariusz

Wyobraźmy sobie sytuację, w której posiadamy stronę zbudowaną na WordPress o tematyce „fajnych” samochodów. Naszą stronę prowadzimy już od jakiegoś czasu, regularnie dodając do niej opisy losowych super samochodów. W pewnym momencie wpadamy na genialny pomysł, aby rozwinąć stronę i dodawać do niej również jakiś inny format, bo kupiliśmy właśnie jakąś „skorupę” i postanowiliśmy, że w formie bloga będziemy opisywać czytelnikom postęp prac nad przywróceniem jej dawnej świetności.

Powyższy Scenariusz jest czystą fikcją. Wszelka zbieżność z innymi stronami lub osobami jest przypadkowa.

Jak oddzielić blog od reszty strony

Myślę, że do tego miejsca dotarło wielu użytkowników WordPressa i dlatego też co jakiś czas wypływają pytania przytoczone przeze mnie we wstępie – te dotyczące oddzielenia bloga od reszty strony. W tej części artykułu przedstawię kilka prostych i bardziej zaawansowanych rozwiązań, jak można sobie poradzić z tym problemem.

Kategoryzowanie wpisów

Sposób polega na tym, że tworzymy nową kategorię – „Blog” i dodajemy do niej „wpisy blogowe”. Niestety samo dodanie wpisów do tej kategorii nie wiele daje i dlatego kolejny krok to wyłączenie wyświetlania wpisów znajdujących się w kategorii blog na stronie głównej.

Możemy to zrobić przy pomocy wtyczki:

Wyłączenie kategorii bloga na stronie głównej przy pomocy snippetu

Wpisy możemy także wyłączyć korzystając z tego prostego snippetu, który znaleźć można w kodeksie WP (kopiujemy i wklejamy do functions.php):

function exclude_category( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'cat', '-1347' );
    }
}
add_action( 'pre_get_posts', 'exclude_category' );

W 3 linijce (w miejscu 1347) musimy podać ujemne ID kategorii do wyłączenia, w tym przypadku ID kategorii Blog.

 

Wyłączenie kategorii bloga na stronie głównej przy pomocy wtyczki

W przypadku wtyczki Ultimate Category Excluder, wystarczy przejść do karty Ustawienia Category Exclusion, gdzie powinniśmy zobaczyć coś takiego:

 

Wszystko, co musimy zrobić, to zaznaczyć kratkę w kolumnie Exclude from Main Page? na poziomie kategorii Blog, oraz kliknąć Update, aby zapisać wprowadzone zmiany.

Dodanie bloga do menu strony

Ostatni krok, to dodanie pozycji do menu. W tym celu przechodzimy do strony WyglądMenu. W lewej kolumnie szukamy pozycji Kategorie. Po jej rozwinięciu powinniśmy zobaczyć wszystkie utworzone na stronie kategorie, w tym również Blog. Zaznaczamy znajdującą się obok kratkę i klikamy Dodaj do menu, aby dodać pozycję do menu. Zapisujemy zmiany.

 

I to właściwie wszystko. Dzięki pluginowi Ultimate Category Excluder, wpisy oznaczone kategorią blog nie powinny już wyświetlać się wraz z innymi wpisami na stronie głównej, a dzięki dodaniu kategorii Blog do menu, użytkownicy mają wygodny dostęp do dodanych tam wpisów.

Dodanie segmentu 'blog’ do adresów wpisów

Opcjonalnie, możemy zmodyfikować ustawienia odnośników prowadzących do wpisów, aby wyświetlały przedrostek „blog”. Uprzedzam, że zmiana wpłynie na wszystkie wpisy – nie tylko na te blogowe. Przykładowo dla odnośników do wpisów znajdujących się w kategorii Blog otrzymamy takie adresy:

http://domena.pl/blog/pierwszy-wpis-na-blog/

Reguła zostanie zastosowana również do wszystkich innych wpisów, poprzedzając jego tytuł nazwą pierwszej kategorii w której się znajduje:

http://domena.pl/klasyki/przykladowy-wpis-o-klasyku/

Aby włączyć wyświetlanie nazwy kategorii przed wpisami przechodzimy do strony Ustawienia Bezpośrednie odnośniki, wybieramy opcję Własny format, gdzie wpisujemy:

/%category%/%postname%/

Zapisujemy zmiany.

 

 

Niestety nie jest to idealne rozwiązanie i ma jeszcze jeden minus. Jeżeli wpis ma więcej niż jedną kategorię, to ponieważ w adresie może pojawić się nazwa tylko jednej kategorii, to zostanie wybrana pierwsza kategoria według kolejności alfabetycznej. Czyli jeżeli do wpisu dodamy dwie kategorie: blog i antyki, to w adresie wpisu użyta zostanie nazwa kategorii antyki.

Post oczywiście będzie dostępny poprzez pozostałe kategorie do których został przypisany, ale zawsze będziemy przekierowywani do tej pierwszej. To ograniczenie możemy obejść instalując plugin, który pozwala wybrać „nadrzędną” kategorię:

https://wordpress.org/plugins/wp-category-permalink/

Zapisywanie wpisów w kategorii, to jedna z najprostszych i najmniej wymagających metod. Efekt końcowy jaki jest każdy widzi i sam musi zdecydować, czy takie rozwiązanie będzie pasowało do jego potrzeb.

Utworzenie Strony o nazwie Blog

To rozwiązanie dedykowane jest osobom, które do tej pory miały wyłącznie stronę wizytówkę zbudowaną na stronach, albo tzw. „one page landing page”, a teraz chciałyby dodać także blog. W takich przypadkach zakładam, że Wpisy powinny być całkowicie do naszej dyspozycji.

Wszystko co należy zrobić, to utworzyć w kokpicie czystą Stronę z tytułem np. Blog, albo Nowości (według potrzeb).

Następnie dodajemy stronę do menu, aby zapewnić użytkownikom wygodny dostęp do tej części strony:

 

Po zapisaniu zmian w menu i wyświetleniu właśnie utworzonej strony, okazuje się jednak, że strona jest pusta. Aby WordPress wyświetlał wpisy na wskazanej przez nas stronie musimy przejść do ustawień czytania: Ustawienia Czytanie. Interesuje nas ustawienie Strona główna wyświetla: statyczną stronę – listy dla strony głównej nie ruszamy, natomiast dla Strony z wpisami ustawiamy utworzoną wcześniej w tej poradzie stronę (patrz następny obrazek). Zapisujemy zmiany i teraz po odświeżeniu strony Blog powinniśmy już widzieć nasze wpisy.

 

To rozwiązanie również nie jest jakoś strasznie skomplikowane, dodatkowo dla listy wpisów dostaliśmy adres:

http://domena.pl/blog/

Co w połączeniu z wcześniej ustawionym wyświetlaniem nazwy kategorii przed wpisem (czytaj akapit Dodanie segmentu 'blog’ do adresów wpisów) otrzymujemy fajny zestaw adresów.

Blog via CPT

Blog wiadomo, a CPT, czyli Custom Post Type, to po prostu niestandardowy typ postu. To rozwiązanie idealnie sprawdzi się w przypadku, gdy prowadzisz swoją stronę już od jakiegoś czasu i wykorzystałeś Wpisy do dodawania choćby artykułów.

To rozwiązanie można zastosować na swojej stronie na dwa sposoby (wtyczka lub snippet), ale efekt końcowy powinien być dokładnie ten sam.

CPT przy użyciu pluginu

W pierwszej kolejności nieco szybsze rozwiązanie, również łatwiejsze w zastosowaniu dla osób nie kodujących. Instalujemy zatem wtyczkę:

https://pl.wordpress.org/plugins/custom-post-type-ui/

Po zainstalowaniu i aktywacji pluginu, w lewym, pionowym menu w kokpicie powinniśmy zobaczyć nową pozycję: CPT UI.

No i fajnie. Odpalamy to, upewniamy się, że jesteśmy na pozycji Add/Edit Post Types, nowy CPT konfigurujemy w następujący sposób:

W drugiej sekcji znajdują się etykiety, które będą używane w interfejsie administratora, są one opcjonalne i można je tutaj pominąć, ale warto ustawić przynajmniej kilka pierwszych z nich:

Ustawienia z kolejnej sekcji, które trzeba zmienić:

Zapisujemy zmiany.

Moja konfiguracja:

W takiej konfiguracji powinny już działać odnośniki typu:

http://domena.pl/blog/
http://domena.pl/blog/tytul-wpisu-na-blogu-numer-1/

Jeżeli tak nie jest, możemy spróbować przebudować ustawienia adresów zapisując stronę Ustawienia Bezpośrednie odnośniki.

Kilka ciekawostek odnośnie konfiguracji CPT:

Rewrite: FALSE

http://domena.pl/?blog=wpis-na-blogu-numer-2

Rewrite: TRUE

http://domena.pl/blog/wpis-na-blogu-numer-2/

Custom Rewrite Slug: custom-slug

http://domena.pl/custom-slug/wpis-na-blogu-numer-2/

Include front: TRUE

W ustawieniach bezpośrednich odnośników:

/front/%postname%/

Adres wynikowy:

http://domena.pl/front/blog/

 

Ręczna rejestracja CPT

Ręczna rejestracja CPT jest właściwie bardzo podobna do tej przy użyciu pluginu i efekt końcowy nie powinien niczym od niej odbiegać (w końcu mamy do dyspozycji dokładnie te same opcje). Plus tego rozwiązania to uniezależnienie się od pluginu, oraz szybsze działanie – zamiast ładowania całego interfejsu pluginu, wczytujemy tylko instrukcję rejestrującą CPT w WP.

 

function wpa_register_cpt_blog() {

    $labels = array(
        'name'                  => 'Posty',
        'singular_name'         => 'Post',
        'menu_name'             => 'Blog',
        'name_admin_bar'        => 'Post na bloga',
        'archives'              => 'Blog',
        'all_items'             => 'Wszystkie posty',
        'add_new_item'          => 'Dodaj nowy post',
        'add_new'               => 'Dodaj nowy',
        'edit_item'             => 'Edytuj post',
        'new_item'              => 'Nowy post',
        'parent_item_colon'     => 'Parent Item:',
        'update_item'           => 'Update Item',
        'view_item'             => 'View Item',
        'search_items'          => 'Search Item',
        'not_found'             => 'Not found',
        'not_found_in_trash'    => 'Not found in Trash',
        'featured_image'        => 'Featured Image',
        'set_featured_image'    => 'Set featured image',
        'remove_featured_image' => 'Remove featured image',
        'use_featured_image'    => 'Use as featured image',
        'insert_into_item'      => 'Insert into item',
        'uploaded_to_this_item' => 'Uploaded to this item',
        'items_list'            => 'Items list',
        'items_list_navigation' => 'Items list navigation',
        'filter_items_list'     => 'Filter items list',
    );

    $args = array(
        'label'                 => 'Post',
        'labels'                => $labels,
        'supports'              => array( 'title', 'editor', 'thumbnail', 'comments', 'trackbacks', 'revisions', 'post-formats', ),
        'taxonomies'            => array( 'category', 'post_tag' ),
        'hierarchical'          => true,
        'public'                => true,
        'show_ui'               => true,
        'show_in_menu'          => true,
        'menu_position'         => 5,
        'menu_icon'             => 'dashicons-megaphone',
        'show_in_admin_bar'     => true,
        'show_in_nav_menus'     => true,
        'can_export'            => true,
        'has_archive'           => true,
        'exclude_from_search'   => false,
        'publicly_queryable'    => true,
        'capability_type'       => 'post',
    );
    
    register_post_type( 'blog', $args );

}
add_action( 'init', 'wpa_register_cpt_blog', 0 );

Snippet należy w całości skopiować i wkleić na końcu pliku functions.php, idealnie byłoby utworzyć dedykowany mu-plugin.

 

Dedykowany plugin do tworzenia CPT typu blog

Jako ciekawostkę podam, że znalazłem plugin, który praktycznie nie posiada żadnej konfiguracji i od razu po jego aktywowaniu mamy do dyspozycji nowy typ posta typu blog-post. Niestety plugin nie daje nam żadnych opcji, więc dostajemy takie adresy:

http://domena.pl/blog-post/

dla strony archiwum, i:

http://domena.pl/blog-post/wpis-na-blogu-numer-2/

dla pojedynczych wpisów.

Plugin ratują jedynie shortcode-y, które pozwalają na wyświetlenie postów na dowolnej stronie lub wpisie w postaci listy lub siatki.

Według mnie jednak, brak jakichkolwiek opcji konfiguracyjnych, dokładniej brak możliwości zmiany adresów, przekreśla jego użyteczność i już lepiej pomęczyć się z opcjami i zrobić to tak jak należy.

W razie gdyby ktoś chciał plugin wypróbować:

https://wordpress.org/plugins/wp-blog-and-widgets/

Dedykowane rozwiązania

Wiadomo, że każda strona jest inna i nie zawsze pasować będzie którekolwiek z przytoczonych tutaj rozwiązań. Nie ma co się martwić i załamywać ręce ponieważ to jeszcze nie koniec. Należy jeszcze pamiętać o  rozwiązaniach dedykowanych, które połączą zamieszczone tutaj rozwiązania, wymuszą wymyślenie kolejnych lub je bardziej rozwiną, bowiem dla wprawnego dewelopera WordPress nie ma rzeczy niemożliwych! 😎

Podsumowanie

Jeżeli chcesz zacząć prowadzić bloga (modowego, kulinarnego, samochodowego), to do dodawania regularnych postów użyj Wpisów. Aby dodać do strony politykę plików cookies, formularz kontaktowy, czy regulamin skorzystaj ze Stron.

Jeżeli już od jakiegoś czasu prowadzisz tematyczną stronę, albo masz stronę wizytówkę opartą o WordPress, to bardzo możliwe jest, że we Wpisach masz już różnej maści artykuły, aktualności, może opisy produktów i obok tego chcesz także wprowadzić blog, oddzielając wszystkie te rzeczy od siebie. W takim przypadku możesz pokusić się o dodanie nowego typu postu, albo filtrować, które wpisy, na jakich stronach są wyświetlane.

Mam nadzieję, że ten zestaw porad ułatwi wam start w WordPress oraz rozwiąże poruszone z blogowaniem problemy.

 

Czytaj dalej:

Strona 1 Strona 2
Exit mobile version