Zachęcam do udziału w konferencji nt. WordPressa - WordCamp Lublin 2017

publikacja: 11 października 2008, autor: , komentarzy 46 https://wpninja.pl/artykuly/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.

tagi:

Komentarze

  1. Banny 9 lat temu:

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

    odpowiedz
  2. Ravicious 9 lat temu:

    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”.

    odpowiedz
  3. Wojciech Usarzewicz 9 lat temu:

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

    odpowiedz
  4. Kamil 9 lat temu:

    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.

    odpowiedz
  5. kavillock 9 lat temu:

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

    odpowiedz
  6. Szymon Skulimowski 9 lat temu:

    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 :-)

    odpowiedz
  7. tomek 9 lat temu:

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

    odpowiedz
  8. Badyl 9 lat temu:

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

    odpowiedz
  9. Wojciech Usarzewicz 9 lat temu:

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

    odpowiedz
  10. rek 9 lat temu:

    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.

    odpowiedz
  11. Szymon Skulimowski 9 lat temu:

    @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?

    odpowiedz
  12. Wojciech Usarzewicz 9 lat temu:

    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 :)

    odpowiedz
  13. kavillock 9 lat temu:

    a ja bym to dał tam gdzie pisze

    blog przewodnik po WP Kontakt

    odpowiedz
  14. kavillock 9 lat temu:

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

    odpowiedz
  15. aniec2 9 lat temu:

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

    odpowiedz
  16. palmiak 9 lat temu:

    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.

    odpowiedz
  17. Papajek 9 lat temu:

    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 ???

    odpowiedz
  18. Szymon Skulimowski 9 lat temu:

    @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?

    odpowiedz
  19. Papajek 9 lat temu:

    Okej :) Przepraszam i dzięki za podpowiedź

    odpowiedz
  20. SpeX 9 lat temu:

    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

    odpowiedz
  21. Wojciech Usarzewicz 9 lat temu:

    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 ;).

    odpowiedz
  22. icelander 9 lat temu:

    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.

    odpowiedz
  23. Szymon Skulimowski 9 lat temu:

    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. :-)

    odpowiedz
  24. elbi 8 lat temu:

    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

    odpowiedz
  25. piter.... 7 lat temu:

    Bardzo szprytne :)

    odpowiedz
  26. Przemek 7 lat temu:

    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

    odpowiedz
  27. aumar 7 lat temu:

    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?

    odpowiedz
  28. Szymon Skulimowski 7 lat temu:

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

    odpowiedz
  29. Joe 7 lat temu:

    Mnie natomiast nurtuje coś takiego. Są sobie strony przedstawiające różne grupy działające w domu kultury. Na tych stronach, pod „statycznymi” opisami chcę wrzucić posty związane z tymi grupami. Oczywiście posty są opatrzone kategoriami. Do tej pory wrzucałem po prostu kilka linijek kodu na koniec opisu (w widoku html) jakaś tam wtyczka to sobie mieliła i było ok, ale stroną zajmuje się też ktoś inny i czasami uwali coś z tego kodu wyświetlającego posty i widać strzępy kodu, a nie widać postów.
    Jak zrobić żeby w templatce strony był kawałek kodu pobierającego sobie wartości z Custom Fields. Kombinowałem w ten deseń:

    ID, „kategoria”, true);
    $nazwa_kat = „category_name=” . $nazwa_kategorii;
    echo „kategoria to $nazwa_kategorii, $nazwa_kat”;
    query_posts(‚$nazwa_kat’);
    ?>

    echo jest tylko dodane kontrolnie i wyrzuca poprawne dane pobrane z custom fields. niestety nie wiem jak to osadzić w templatce strony – musi to być gdzieś na zewnątrz pętli bo jak jest w środku to tworzy się kilometrowa strona, ale nie podołałem i się zmęczyłem :)

    odpowiedz
  30. Joe 7 lat temu:

    ulala coś popsuło koda

    —-
    $nazwa_kategorii = get_post_meta($post->ID, „kategoria”, true);
    $nazwa_kat = „category_name=” . $nazwa_kategorii;
    echo „kategoria to $nazwa_kategorii, $nazwa_kat”;
    query_posts($nazwa_kat);
    —-

    odpowiedz
  31. Czytelnik 6 lat temu:

    Witam.

    Custom field – czy można zastosować je w Wordpressie (wersja 3.2.1). Jeżeli tak czy możliwe jest za jego pomocą zrobienie DIVA -> a następnie includowanie go w dowolnie wybranym miejscu strony (aby byl np oblewany przez tekst za pomocą float).

    W w/w wersji WP nie mogę znaleźć opcji Custom Field… czy mógłby ktoś nakreślić lokalizację takiego buttona?

    odpowiedz
  32. c0lin 6 lat temu:

    Witam, nie wiem czy dobrze myślę, ale w php to chyba jest tak, że jeśli wewnątrz src=”” pojawi się kolejny cudzysłów, to wtedy src się zamknie i wywali błędną treść… Nie wiem, bo nie testowałem, ale zauważyłem to w tej linijce : <img src="ID, „obrazek”, true); ?>” />. Jeśli źle mówię, to usuńcie komentarz ;P

    odpowiedz
  33. night77 6 lat temu:

    Witam! Mi działa tylko w na stronie sidebar.php, na innych nic nie wyświetla, nawet gołego tekstu.
    Pytanie z innej beczki. Czy do wyświetlania custom fields w treści postów lub stron wystarczy wtyczka Exec-PHP?

    odpowiedz
  34. Nie wiem 6 lat temu:

    Pytanie podstawowe jak mogę dodać te pola użytkownika do edytora wpisów bo nigdzie nie mogę tego znaleźć?

    odpowiedz
    1. Kamil Lipiński 6 lat temu:

      Custom Fields w wersji 3.2.1 można znaleźć w Opcjach ekranu edytując statyczną stronę. Po polsku to pole nazywa się „Własne pola”.

      odpowiedz
  35. Olek 6 lat temu:

    Witam! A czy jest możliwość wstawienia w pole użytkownika galerii zdjęć w formie jaka wstawiana jest we wpisie z poziomu panelu administracyjnego?

    odpowiedz
    1. Szymon Skulimowski 5 lat temu:

      Chodzi o dodanie drugiej (i więcej) galerii do wpisu czy po prostu o przerzucenie zarządzania załączonymi do wpisu zdjęciami w osobną sekcję?

      odpowiedz
  36. Daniel 5 lat temu:

    Witam, dzisiaj okazało się że wszelkie dane jakie wpisuję poprzez Custom Fields nie są brane pod uwagę, gdy korzystam z wbudowanej wyszukiwarki w Wordpress. Przykładowo… jeśli mam własne pole o nazwie „marka” i wpisuję w nie np. „opel”… (całość oczywiście wkomponowana jest w pętlę) po opublikowaniu posta całość wygląda ok. Natomiast jeśli wpiszę słowo „opel” w pole wyszukiwania dostaję informację, że „nie znaleziono”.

    Czy tak już jest? Czy ja mam coś nie tak?

    odpowiedz
    1. Szymon Skulimowski 5 lat temu:

      Zgadza się, wyszukiwarka nie bierze pod uwagę custom fields. Możesz jednak to zmienić instalując i odpowiednio konfigurując wtyczkę Search Everything.

      Jeśli się uda (lub nie) to daj znać. Powodzenia!

      odpowiedz
  37. ebooki 5 lat temu:

    Po aktualizacji WP do 3.4.2, a nawet na nowej instalacji pojawił się problem z wpisywaniem / wprowadzaniem nowych własnych pół. Przy kilku polach własnych wpisując wartość i klikając „Dodaj własne pole” nie pojawia się to pole. Jedynie po kliknięciu w zapisz wpis widać dane pole, i tak za każdym razem. Nie wiem czy to jakiś błąd w nowszej wersji WP.

    odpowiedz
    1. ebooki 5 lat temu:

      Znalazłem rozwiązanie: Pomaga zainstalowanie wtyczki hotfix.

      Wcześniej przeprowadziłem nawet dokładny test instalując po koleni wp od wersji 3.1 w górę i wykryłem, że ten problem pojawił się po upgrade’dzie z 3.4.1 do 3.4.2. Domyślałem się, że błąd wkradł się w kodzie JavaScript.
      Trochę to dziwne, że nie było słychać o tym problemie na stronach polskojęzycznych.

      PS. Taka wtyczka jak hotfix powinna być automatycznie dodawana do WP.

      odpowiedz
    2. Szymon Skulimowski 5 lat temu:

      Dzięki! Dodam jeszcze odnośnik dla innych użytkowników: http://wordpress.org/plugins/hotfix/

      Brak informacji o tym w polskiej części sieci można po części wytłumaczyć tym, że coraz mniej osób korzysta z tej funkcji w „ręczny” sposób. Ja sam zauważyłem to dopiero po Twojej wiadomości.

      odpowiedz

Dodaj własny komentarz

Odnośniki z innych stron

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 […]