Artykuły:

  • data publikacji: 25.08.2009

    WordPress i taksonomie

    kategoria: Wordpress autor: palmiak

    WordPress i taksonomie

    Koniec wakacji. Czas wrócić spoworotem do pisania artykułów. Pierwszym powakacyjny artykuł poświęcę wordpressowym taksonomiom, a konkretniej możliwości dokładania nowych i ich wykorzystania.

    Czym są taksonomie

    Najprościej mówiąc jest to podział na pewne grupy. Bardziej życiowo jest np. przypisanie kategorii i tagów do wpisu.

    Domyślnie WordPress daje nam możliwość korzystania tylko z kategorii i tagów. Co jednak gdybyśmy chcieli przypisać wpis do bardziej konkretnych 'działów'? Np. gdybysmy mieli stronę o muzyce do wykonawcy i gatunku muzyki lub, w przypadku strony o komiksach, do rysowników oraz scenarzystów.

    WordPress daje nam taką możliwość (szkoda, że jest to dość zabunkrowane).

    Tworzymy nowe taksonomie

    W naszym przykładzie stworzymy sobie fragment strony poświęconej muzyce. Każdy artykuł będziemy chcieli móc przypisać do wykonawcy, gatunku muzycznego oraz wytwórni.

    Najpierw musimy otworzyć (lub utworzyć, jeżeli nie ma) plik functions.php w katalogu naszej skóry. W nim wpisujemy:

    add_action( 'init', 'create_taxonomies', 0 );

    function create_taxonomies() {
            register_taxonomy( 'wykonawca', 'post', array( 'hierarchical' => false, 'label' => 'Wykonawca', 'query_var' => true, 'rewrite' => true ) );
            register_taxonomy( 'gatunek', 'post', array( 'hierarchical' => false, 'label' => 'Gatunek', 'query_var' => true, 'rewrite' => true ) );
            register_taxonomy( 'wydawca', 'post', array( 'hierarchical' => false, 'label' => 'Wydawca', 'query_var' => true, 'rewrite' => true ) );
    }

    W powyższym kodzie tworzymy funkcję create_taxonomies(), która tworzy odpowiednie taksonomie.

    Najciekawszym argumentem funkcji register_taxonomy jest hierarchical, który niestety zawsze musi być ustawiony na false. Znaczy to, że nowo utworzone przez nas taksonomie będą zachowywać się jak tagi. Po ustawieniu na true panel przestaje zauważać, że istnieje nowa taksonomia i raczej nie będziemy mieli z niej pożytku. Podobno z czasem twórcy mają to zmienić - pozostaje nam czekać.

    Po dodaniu tych paru linijek gdy postanowimy dodać nowy wpis pod tagami zobaczymy trzy nowe boksy o nazwach Wykonawca, Gatunek i Wydawca (czyli to co wpisaliśmy w label).

    WordPress i taksonomie

    Dodatkowo możemy tym wszystkim wygodnie zarządzać za pomocą panelu administracyjnego

    WordPress i taksonomie

    Wyciągamy na wierzch

    Na pojedynczej stronie chcielibyśmy wyciągnąć wszystkie informacje które wpisaliśmy.

    Kawałek strony, który odpowiada za wyświetlanie pojedycznego wpisu wygląda obecnie tak:

    <div class="post-wrapper">

                            <h3 class="post-title"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3>
                            <div class="post">
                            <?php the_content(); ?>
                            </div>
                            <div class="post-footer">Kategoria <?php the_category(', ') ?></div>
                            </div>

    Oczywiście to wszystko znajduje się w Loopie etc etc. Zamiast kategorii chcemy wyświetlić wykonawcę, wydawcę i gatunek. Zastępujemy więc

    Kategoria <?php the_category(', ') ?>

    na

    <?php
    echo get_the_term_list( $post->ID, 'wykonawca', 'Wykonawca: ', ', ', '' ).'<br/>';
    echo get_the_term_list( $post->ID, 'gatunek', 'Gatunek: ', ', ', '' ).'<br/>';
    echo get_the_term_list( $post->ID, 'wydawca', 'Wydawca: ', ', ', '' ).'<br/>';
    ?>

    Efekt:

    WordPress i taksonomie

    Jako kolejne parametry funkcji podajemy ID wpisu, nazwę taksonomi, tekst który pojawi się przed listą, separator i tekst po liście.

    Po więcej informacji o funkcji get_the_term_list odsyłam na WordPress Codex.

    Wyświetlanie wpisów tylko o jednym wykonawcy

    Jak? Ano bardzo prosto. Wystarczy nasza ulubiona funkcja query_posts i następujące coś:

    <?php query_posts('nazwa-taksonomi=uproszczona-nazwa-tagu'); ?>

    W praktyce wyjdzie nam:

    <?php query_posts('wykonawca=iron-maiden'); ?>

    Oczywiście można to bardziej rozbudować, dodając to do rzeczy poznanych w poprzednich tutorialach o query_post.

    Chmurka tagów

    To jest jeszcze prostsze niż poprzednie. Wystarczy napisać:

    <?php wp_tag_cloud( array( 'taxonomy' => 'wykonawca' ) ); ?>

    Warto jednak pogrzebać na WordPress Codex aby dowiedzieć się więcej o wp_tag_cloud.

    Podsumowanie

    Mi się ten ficzer bardzo, ale to bardzo podoba i uważam, że w przypadku gdy używamy WP jako CMSa jest on naprawdę przydatny. Dodatkowo nie jest to żadna czarna magia. Powyższy tutorial wyjaśnia wszystko co było do wyjaśnienia.

    Z drugiej strony szkoda, że twórcy potraktowali to troszkę po macoszemu. Tym oto sposobem dla dużej części userów pozostanie to wiedzą tajemną. Liczę jednak, że Automattic się spręży i dopisze brakujący kod oraz pojawi się do tego pożądna dokumentacja.

    Udostępnij ten artykuł:
    • Print
    • Digg
    • del.icio.us
    • Facebook
    • Mixx
    • Google Bookmarks
    • Gwar
    • RSS
    • Technorati
    • Twitter
    • Wykop

  • This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

    10 Responses to “WordPress i taksonomie”

    1. Damian pisze:

      Dzięki za artykuł, przyda się :)

    2. palmiak pisze:

      Przepraszam wszystkich którzy pisali i wcięło ich komentarze. Niestety radosny pan admin (czyt. ja) wykazał się skrajnym idiotyzmem, kretynizmem, brakiem koordynacji ruchowej i nieumiejętności czytania komunikatów, które zaczynają się od ‘Czy jesteś pewien, że?’ co zaowocowało poleceniem drop table wp_comments…

      Jak pisałem a’porpos czy da się zespoły z tej samej kategorii. Ogólnie to tak. Musisz w jednej kateogorii trzymać zespoły i opisywać je gatunkiem. Potem jak będziesz przeglądał jakiś gatunek musisz sobie pobrać ten gatunek (pobaw się print_r i zobacz gdzie ta zmienna jest trzymana) i zrobić drugiego loopa który się rozpocznie query post dla kategorii zespół i gatunek=ta nasza fajna zmienna.

      W skrócie to tak wygląda.

    3. sebapple pisze:

      O, dzięki wielkie ;) Nawet ostatnio się zastanawiałem nad czymś podobnym, ale już problem rozwiązany.

    4. Igor pisze:

      Taki ból pewnie przeżywa się tylko raz ;) Nowe komentarze się napisze:) Dzięki za artykuł po raz drugi :)

    5. mateo pisze:

      Bardzo fajne! Wasz serwis też bardzo bardzo fajny tylko mnie martwi,że wpisy tak rzadko :/

      • Agressiva pisze:

        A mnie martwi, że tylko ja i palmiak prowadzimy ten serwis … brak chętnych stałych osób do pomocy :/ więc niestety ale nie ma fizycznej możliwości na częstsze artykuły. Też mamy prace, uczelnie….

    6. [...] to poswiecic max godzine, to zrobisz to i bez pisania pluginu, a wykorzystujac jedynie taksonomie vivee.info/…9/08/25/wordpress-i-takso… " do #wordpress chcę stworzyć serwisik który będzie blogiem, a dodatkowo będzie przed [...]

    7. [...] 12:14 26/08/2009 WordPress i taksonomie | Vivee – wordpress, webmastering, grafika i fotografia vivee.info/…9/08/25/wordpress-i-takso… Pokaż reakcje /* */ inne strony z tej witryny + obserwuj co [...]

    8. [...] vivee.info/2009/08/25/wordpress-i-taksonomie wzbudza zainteresowanie! Pokaż reakcje /* */ inne strony z tej witryny + obserwuj co pisze [...]

    Leave a Reply

Komentarze

Kategorie

Top 10

  • CMSy Artykuły dotyczące różnego rodzaju systemów zarządzania treścią CMS.
  • Flash Podstawowe informacje pomocne przy tworzeniu animacji w Adobe Flash.
  • Fotografia Samouczki dotyczące nie tylko robienia zdjęć ale też ich cyfrowej obróbki.
  • Grafika Ogólnie pojęta grafika komputerowa, od inspiracji, po tworzenie layoutów oraz mniejszych form graficznych.
  • Inne tutoriale wordpressowe Wszystkie inne zagadnienia dotyczące WordPressa.
  • Inspiracje Inspirujące materiały graficzne z dziedziny projektowania stron www, projektów DTP, digital painting, itp.
  • Obróbka zdjęć Techniki retuszu fotografii cyfrowych.
  • Rysunek Tworzenie rysowanych ilustracji w Adobe Photoshop.
  • Skóry do Wordpressa Darmowe oraz płatne – najlepsze skóry do WordPressa.
  • Skrypty client-side
  • Skrypty server-side
  • Tutoriale
  • Webdesign Tutoriale z zakresu projektowania stron www i grafiki użytkowej na rzecz internetu.
  • Wieczór z Open Source
  • Wordpress Ulubieniec naszej publiczności CMS WordPress: nowości, tricki, wtyczki, skóry i wszystko to co może przydać się przy korzystaniu z tego systemu.
  • Wtyczki do Wordpressa Recenzje oraz instrukcje najbardziej popularnych i najbardziej niezbędnych pluginów do WordPressa.
  • XHTML/CSS Ciekawostki z dziedziny kodowania stron www: XHTML, CSS, jQuery.

Najnowsze newsy

Wieczór z Open Source 2010

Jak co roku WSINF organizuje konferencję Wieczór z Open Source.
Chciałbym zaprosić was na tegoroczna konferencję Wieczór z Open Source 2010! Czytaj dalej

Grafart.org i WACOM zapraszają na konkursy!

Witam!

Myślę, że czas najwyższy nadmienić, że za niedługi czas zostanie zorganizowany pierwszy z trzech konkursów, w których główną nagrodą będą tablety firmy WACOM!
Za miejsca drugie oraz trzecie nagrodami będą kubki i koszulki firmy WACOM oraz magazyny graficzne PSD PHOTOSHOP oraz COMPUTERARTS.
Czytaj dalej

Zapraszamy na forum graficzne Graffika.pl

Każda osoba interesująca się grafiką komputerową ma czasami ochotę porozmawiać o swoich pracach, posłuchać rad, krytyki i pochwał innych osób. Idealnym miejscem na realizowanie takich potrzeb jest forum graficzne Graffika.pl.
Czytaj dalej