publikacja: 11 października 2008, 12:11; autor: Wojciech Usarzewicz http://wpninja.pl/pola-uzytkownika-czyli-custom-fields/

Pola użytkownika, czyli Custom Fields

Pola użytkownika, czyli Custom Fields

Wiele osób korzystających z WordPressa po pewnym czasie nabiera ochoty na dodanie dodatkowych informacji do swoich wpisów, choćby tak prostej rzeczy jak obrazków umieszczonych w określonym miejscu swojego szablonu. Zwykły edytor WordPressa tutaj nie pomoże, konieczne będzie posiłkowanie się tak zwanymi Custom Fields.

Po polsku zwane „polami użytkownika”, umożliwiają one dodawanie dodatkowych elementów do naszych wpisów, takich jak choćby obrazki, które mają się pojawić w odpowiednim miejscu naszego szablonu. Obrazki, które widać tutaj na WPNinja.pl po lewej stronie są obsługiwane właśnie przez pola użytkownika. Zerknijcie teraz na poniższy obrazek.

Widok zakładki "Pola Użytkownika"

Widok zakładki "Pola Użytkownika"

Widać na nim zakładkę Pól Użytkownika, która znajduje się na stronie edycji wpisu w opcjach zaawansowanych. Aby dodać nasze własne pole, musimy albo wybrać klucz z listy (1), bądź też dodać nowy klucz (2) jeśli wcześniej takiego nie utworzyliśmy. Wygląda to tak, że jeśli tworzymy klucz po raz pierwszy, wpisujemy jego nazwę do drugiego pola. Jeśli jednak już wcześniej tworzyliśmy pole z danym kluczem, ten będzie już dostępny z listy rozwijanej. W polu oznaczonym cyfrą 3 wpisujemy zaś wartość, czyli np. adres obrazka, który będzie wyświetlany.

Niech więc nasz obrazek będzie miał adres http://example.com/images/obrazek.jpg – wklepujemy tę wartość do odpowiedniego pola, a jako klucz ustawiamy słówko „obrazek„. Trzeba teraz nam wyświetlić nasz obrazek.

Wyświetlanie pól użytkownika

Będzie tutaj konieczna modyfikacja naszego szablonu. Otwieramy odpowiedni plik (zapewne będzie to single.php). Lokalizujemy miejsce, w którym chcemy wyświetlić nasz obrazek z poprzedniego paragrafu i wklepujemy odpowiedni kod:

<img src="<?php echo get_post_meta($post->ID, "obrazek", true); ?>" />

Objaśnienie – ponieważ jako wartość dla pola podaliśmy jedynie adres obrazka, to jedyne co musimy pobrać z bazy danych to tę właśnie wartość, która musi znaleźć się parametrze src="" – stosujemy do tego funkcję get_post_meta(), w której wśród trzech parametrów widzimy również nasz obrazek – to właśnie klucz naszego pola, który umożliwia wyświetlenie wartości. Dzięki tej prostej funkcji właśnie wyświetliliśmy nasz obrazek :).

Podsumowanie

Pola użytkownika możemy zastosować np. do dodawania obrazków, informacji o autorach gościnnych, do wstawiania dodatkowych informacji itp. Możliwości są nieograniczone, sam miałem okazję budować całe tabele parametrów sprzętu komputerowego opierając się tylko na polach użytkownika. To co widzicie powyżej to tylko ogólne przedstawienie koncepcji – jestem jednak pewien, że wystarczy wam ona do skutecznego opanowania technologii Custom Fields, co zaś przełoży się na jakość waszych blogów.

Komentarze (28)

  1. Banny (11 października 2008, 12:14) #:

    A ja się zastanawiałam do czego to służy… :>

  2. Ravicious (11 października 2008, 12:21) #:

    Niektóre wtyczki również korzystają z pól użytkownika – np. WP-PostViews. No i nareszcie ktoś napisał, „o co chodzi z tymi polami użytkownika”.

  3. Wojciech Usarzewicz (11 października 2008, 12:32) #:

    Byłem zmuszony – bez tej wiedzy jeden z kolejnych artykułów będzie dla ludzi czarną magią :).

  4. Kamil (11 października 2008, 14:12) #:

    Naprawdę świetna strona, wiele praktycznych wskazówek i porad tutaj znalazlem, gratuluję :D Jednocześnie zapraszam do siebie na http://www.my-mobile.com.pl/ My mobile to serwis, dzięki któremu odkryjemy nowe zadziwiające możliwości swojego telefonu.

  5. kavillock (11 października 2008, 19:50) #:

    a jak to robisz że na stronie głównej jest mniejszy obrazek niż ten w poście ???

  6. Szymon Skulimowski (11 października 2008, 20:08) #:

    a jak to robisz że na stronie głównej jest mniejszy obrazek niż ten w poście ???

    Spokojnie. O tym Riff opowie w kolejnej części :-)

  7. tomek (11 października 2008, 20:42) #:

    http://justintadlock.com/archives/2007/10/27/wordpress-custom-fields-adding-images-to-posts
    takie rozszerzenie tego, można ciekawe rzeczy zrobić

  8. Badyl (11 października 2008, 20:43) #:

    Dobra strona, trzymaj tak dalej, oby coraz więcej wpisów :)

  9. Wojciech Usarzewicz (11 października 2008, 21:27) #:

    A dlaczego nikt nie pisze „trzymajcie tak dalej”, tylko zawsze w liczbie pojedyńczej? Czuję się niedoceniany :P

  10. rek (11 października 2008, 21:45) #:

    Od pewnego czasu czytam regularnie tego bloga i powiem, że z postu na post staje się on kolejną kopalnia wiedzy na temat Wordpressa.

    Trzymaj (Trzymajcie) tak dalej.

  11. Szymon Skulimowski (11 października 2008, 23:12) #:

    @Riff,

    Trzeba wprowadzić lepsze oznaczenie autora. Myślałem o większym boksie ze zdjęciem autora, krótkim opisem i odnośnikiem do pozostałych jego publikacji. Pytanie tylko gdzie ową rzecz umieścić – zaraz pod tytułem artykułu, na jego końcu (przed „podobne artykuły”), gdzieś w sidebarze (może boks z „WordPress to strona…” pozostawić jedynie na stronie głównej a na stronie artykułu dać notkę o autorze?) a może zupełnie gdzie indziej?

  12. Wojciech Usarzewicz (12 października 2008, 9:50) #:

    Osobiście bym wcisnął takie zdjęcie i opis między „Podobne artykuły” a „Komentarze”, zdjęcia oczywiście czarno-białe (są bardziej poważniejsze). Moim zdaniem to by wystarczyło.

    Cieszę się, że kolejny artykuł jest dla czytelniów przydatny – pozytywne komentarze zachęcają do pisania kolejnych tekstów :)

  13. kavillock (12 października 2008, 11:43) #:

    a ja bym to dał tam gdzie pisze

    blog przewodnik po WP Kontakt

  14. kavillock (12 października 2008, 11:45) #:

    o zapomniał bym warto by ten post i temu podobne umieścić w przewodniku po wp

  15. aniec2 (13 października 2008, 12:05) #:

    No nareszcie:) Czekam Riff na ciąg dalszy!

  16. palmiak (13 października 2008, 13:42) #:

    Fajnie, że o tym napisałeś. Custom Fields to w końcu jedno z najpotężniejszych, a zarazem najczęściej niedostrzeganych narzędzi w WP. Nie wiem czy przypadkiem Twórcy WP nie powinni pomyśleć, żeby jakoś to poprawić, żeby było łatwiejsze w korzystaniu. W Experssion Engine jakoś to bardziej dla ludzi jest.

    Swego czasu pisałem o tym na http://vivee.info/2007/09/11/pola-uzytkownika-w-wordpress/ . Nawet prymitywny sposób na dodnie własnych keywordsów do każdego wpisu jest.

  17. Papajek (13 października 2008, 17:03) #:

    Witam … Niestety znowu mam problem :( Chodzi o to że we wpisach na moim blogu nie mogę w jakikolwiek sposób ingerować w sposób umieszczenia obrazków. Nie pomagają align’y center’y itd… Czego to może być wina ???

  18. Szymon Skulimowski (14 października 2008, 11:24) #:

    @Papajek,

    Stylów CSS. Ale z tego co kojarzę to nie jest to związane z artykułem, prawda? :-) Może lepiej więc popytać się o takie rzeczy na forum?

  19. Papajek (14 października 2008, 12:06) #:

    Okej :) Przepraszam i dzięki za podpowiedź

  20. SpeX (19 października 2008, 2:12) #:

    A czy na podstawie tych pól mogę zrobić coś takiego jak jest na stronach filmowych „recenzji (x), foto(x). itp

    Chodzi mi o taki przykład iż w katalogu „prasa” ładuję przegląd prasy mnie interesujący oraz trzymam w jakieś galerii zdjęcia.
    I gdy wpis jest powiązany tematycznie z zbiorem teki coś z informacją o prasie czy zdjęciach pojawi się przy wpisie

  21. Wojciech Usarzewicz (19 października 2008, 9:19) #:

    Tutaj polecałbym się raczej zainteresować modyfikowaniem wtyczki Related Posts (a raczej przekodowaniem jej w 90%) – też korzysta z Custom Fields, ale w nieco inny sposób ;).

  22. icelander (16 listopada 2008, 12:11) #:

    A czy jest możliwość za pomocą Custom Fields zrobienie sobie tabelki w htmlu?
    Chodzi o to, że w każdym newsie muszę wstawiać tabelkę jedyne co zmieniam to zdjęcie i ewentualnie link. Musze to wklejać przez html. Może da się jakoś tak zrobić ze w momencie klikania na nowy wpis taka tabelka już się wkleja i wystarczy tylko podmienić grafikę i ewentualny link.

  23. Szymon Skulimowski (16 listopada 2008, 13:58) #:

    A czy jest możliwość za pomocą Custom Fields zrobienie sobie tabelki w htmlu?

    Prosty przykład: w Custom Fields ustawiasz sobie zmienną „pokazac_tabelke” i przy wpisach, które powinny ją mieć uzupełniasz je o „tak”. Następnie edytujesz kod single.php i ustawiasz odpowiedni warunek typu „jeśli ‚pokazac_tabelke’ == ‚tak’ to…” i tutaj wklepujesz kod tabelki,

    Oczywiście to duże uproszczenie i jedynie jeden z setki przykładów. :-)

  24. elbi (8 maja 2009, 12:08) #:

    Ciekawy post, widziałem kilka stron gdzie tylko tak można było dodać „wpis”, dopiero po kliknięciu otwierało się okno z tekstem – takie bardziej dla fotoblogów

  25. piter.... (4 marca 2010, 21:52) #:

    Bardzo szprytne :)

  26. Przemek (30 marca 2010, 23:48) #:

    witam, jestem kompletnie początkujący, mam taki oto szablon:
    http://fearlessflyer.com/2009/08/get-kubrick-on-crack/
    i jak widać jest tam miejsce na zdjęcie z postu. postąpiłem zgodnie z instrukcja modyfikując single.php (co w ogóle było dla mnie kompletna nowością) i… nic. Bardzo bym prosił o pomoc i wyjaśnienie sprawy ale jak najprościej ponieważ jestem kompletnym laikiem.
    Przy okazji dzięki, że prowadzicie tak pożytecznego bloga, który na prawdę pomaga takim jak ja zacząć przygodę z wordpress.

    pozdrawiam

  27. aumar (18 maja 2010, 15:17) #:

    A ja mam pytanie, czy jest możliwość aby dany custom field był uruchamiany dopiero po 2 wizycie na stronie któregokolwiek z postów (aktualnie jest dodany do wszystkich postów). Oraz czy jest możliwe zablokowanie wyświetlania efektu uruchomienia danego custom field dla googla?

  28. Szymon Skulimowski (18 maja 2010, 17:17) #:

    Przez „uruchamianie” masz na myśli wyświetlenie zawartości?

Dodaj własny komentarz

Odnośniki z innych stron (4)

Lista innych stron, które w jakiś sposób odnoszą się do opublikowanej tutaj treści:

  1. „Własne pola” w treści wpisu

    [...] pewnością wiesz już czym są i jak stosować je w praktyce. Teraz chciałbym Ci pokazać prosty sposób wyświetlania ich [...]

  2. Query_posts, czyli jak ujarzmić loopa część 2. | Vivee - blog o grafice, webmasteringu i fotografii

    [...] Jeżeli ktoś nigdy nie korzystał z pól użytkownika (custom fields) lub zapomniał co się z tym robi zapraszam do naszego starego tutka lub na WPNinja. [...]

  3. Wu-Pe-Chi Triki #3: Co czynić, gdy pole użytkownika pustym jest

    [...] zawsze można możemy zagwarantować, iż pole użytkownika będzie pełne, tj. będzie posiadało treść. Czasem treści zabraknie, lecz jeśli treścią tą [...]

  4. Z notatnika webmasterki » Archiwa bloga » Własne pola w WordPress

    [...] jak to zrobić, bo inni zrobili to już dostatecznie dobrze, jak choćby Wojciech Usarzewicz na WPninja. Bardziej ogólny opis można znaleźć w dokumentacji [...]