-
data publikacji: 11.09.2007
Pola użytkownika w WordPress
kategoria: CMSy, Tutoriale, Webmaster, Wordpress autor: palmiakCzęść z Was pewnie dostrzegła w WordPressie pola użytkownika (ang. Custom Fields), ale prawdopodobnie nie wie do czego to służy i jak to stosować.
Co to są pola użytkownika
Każde pole składa się z klucza oraz wartości.

Osoby, który mają choć drobne pojęcie o programowaniu i tablicach, powinny od razu dostrzec analogię. Dzięki polom użytkownika jesteśmy w stanie potworzyć zmienne (i przypisać wartość oczywiście). Mając coś takiego oraz wiedzę programistyczną jesteśmy w stanie bardzo rozszerzyć możliwości naszej strony.Pierwsze starcie
Wyobraźmy sobie, że mamy ochotę, żeby pod każdym naszym wpisem umieszczać utwór którego teraz słuchamy oraz książkę jaką czytamy.
Najpierw musimy wejść do panelu administracyjnego WP i napisać (albo zedytować starszy) wpis. Wyszukujemy tam pół użytkownika i wpisujemy w pole tekstowe pod słowem klucz teraz słucham, a w wartość np. Deep Purple - Smoke on the Water i klikamy na dodaj. Następnie dodajemy klucz teraz czytam i wpisujemy Jeffrey Zeldman - Projektowanie serwisów WWW, Publikujemy i zapisujemy wpis.
Naszym kolejnym zadaniem jest wyświetlenie tego na stronie. Wystarczy, że otworzymy katalog w którym znajduje się nasza skóra i poprawimy plik single.php. Wystarczy, że pod
the_content();umieścimythe_meta();.W rezultacie otrzymamy nazwę kluczę i wartość od niego przypisaną.
Od strony kodu WP wyświetlił to jako listę nieuporządkowaną:
<ul class='post-meta'>
<li><span class='post-meta-key'>Teraz czytam:</span> Jeffrey Zeldman - Projektowanie serwisów WWW</li>
<li><span class='post-meta-key'>Teraz słucham:</span> Deep Purple - Smoke on the Water</li>
</ul>Dzięki takiemu układowi za pomocą CSS możemy bardzo prosto zmienić wygląda takiej listy.
Tylko jeden klucz
Powyższa metoda ma niestety kilka wad. Najgorszy jest fakt, że musimy wyświetlić zawsze wszystkie klucze i wartości. A co by było gdybyśmy chcieli, żeby wyświetliło nam tekst: W tym momencie czytam książkę pt Jeffrey Zeldman - Projektowanie serwisów WWW, a z głośników dobiega Deep Purple - Smoke on the Water.? Poza tym trzeba wziąć pod uwagę, że może istnieć sytuacja, ze w tym momencie akurat tylko słuchałem muzyki, tylko czytałem książkę, albo nie robiłem ani jednego ani drugiego.
Nasz skrypcik najpierw musi sprawdzić które pola są wypełnione i zależoności od tego wyświetlić odpowiedni tekst. Wygląda to następująco:
<?php
$a = get_post_meta($post->ID, "Teraz czytam", true);
$b = get_post_meta($post->ID, "Teraz słucham", true);if ($a == null && $b == null) {
echo "Niczego nie czytam ani nie słucham";
}else if ($a == null && $b !=null) {
echo "Chwilowo słucham $b";
}else if ($a != null && $b ==null) {
echo "Chwilowo czytam $a";
}else {
echo "W tym momencie czytam książkę $a, a z głośników dobiega $b";
}
?>Na podstawie tego przykładu łatwo zauważyć, że jeśli chcemy wyciagnąć wartość jednego klucza korzystamy z funkcji
get_post_meta($id_wpisu, $nazwa_klucza, true);Możemy także zauważyć, że jeśli chcemy pobrać dane z wpisu który właśnie czytam to zamiast$id_wpisukorzystamy z$post->ID.Coś praktycznego
To co sobie popisaliśmy wcześniej pokazało jak działają pola użytkownika oraz jak je pobierać i wyświetlać na stronie, jednak nie ma zbyt praktycznego zastosowania. Żeby to naprawić spróbujemy napisać skrypt za pomocą którego będziemy mogli w postach pisać słowa kluczowe, które powędruje do mety na górze strony.
Pierwszą rzeczą, którą nasz skrypt będzie musiał zrobić to sprawdzić czy aktualnie przeglądana przez nas strona jest pojedynczym wpisem (za pomocą
is_single()), następnie sprawdzić czy we wpiscie wpisaiśmy jakieś słowa kluczowa (a jak nie to użyje uniwersalnych). Jeśli strona jest pojedyncza i użyliśmy słów kluczowych to pozostaje nam tylko poprosić skrypt o wypisanie słów kluczowych.By tego wszystkiego dokonać tworzymy sobie w jakimś wpisie pole keywords i w jego wartości wpisujemy słowa określające ten wpis (oddzielamy je przecinkami). Teraz pozostaje magia w PHP.
Otwieramy w naszej skórze header.php i w sekcji head piszemy:
<?php
$keywords=get_post_meta($post->ID, "Teraz czytam", true);
if (is_single() && $keywords!=null) {
} else
{$keywords="słowa, które, określają, nasz, stronę";}
echo "<meta nwme=\"keywords\" content=\"$keywords\" />";
?>Podsumowanie
Dzięki temu artykułowi poznaliście na jakiej zasadzie działają pola użytkownika. Jest to jednak tylko fragment możliwości jakie możemy dzięki nim uzyskać. Tak naprawdę granicą są jedynie Wasze umiejętności programowania w PHP.
Jeśli wymyśliliście jakieś ciekawe zastosowanie pół użytkownika wspomnijcie o nich na naszym forum.
-
5 Responses to “Pola użytkownika w WordPress”
Leave a Reply
Komentarze
Kategorie
Top 10
Wski: Cross Processing
Kallie Akinyooye: Krótko o… Wordpress 2.7
Agressiva: Jak za pomocą js poprawić wygląd formularzy
S.Wojnowski: Jak za pomocą js poprawić wygląd formularzy
Arek: Menu “wychodzące” zza strony
Arek: Full of colours
Giuseppe Heitner: Wstęp do programowania zorientowanego obiektowo w PHP5…
Kamil: 960 Grid System
Piotrek: Rozwijany panel z odrobiną słodyczy
Kuba: Tworzymy indywidualną stronę startową dla naszych fanów na Facebooku
- 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
Polecane strony
- WordPress Theme from Scratch – Day 1: PSD
- 20 Tutorials For Creating HDR Images
- Ask the Expert – Using Wordpress to Build Large Scale Websites with Derek Herman
- Making an Interactive Picture with jQuery
- Create a Horizontal Scrolling Website
- 800 Most Wanted Free RSS Icons for Bloggers
- 45 Most Wanted Beautiful Free Hand Drawn Fonts
- Caffe-Break Themed Blog Layout Photoshop Tutorial
- Create a nature inspired layout in photoshop
- Coding a Web Design for Speed and Quality
- Beautiful Hand Drawn Websites | Abduzeedo | Graphic Design Inspiration and Photoshop Tutorials
- 40 Fresh Creative and Inspiring Photographs
- Wordpress portfolio layout | Grafpedia
- Simple Facial Photo Retouching | Grafpedia
- Create a beauty layout in 10 steps | Grafpedia























[...] Pola uzytkownika w WordPress, czyli Custom Fields [...]
“Wystarczy, że pod the_content(); umieścimy the_meta();.”
Tego nierozumiem, gdzie to mam dodać? W pliku nie ma the-content();
Ogólnie chodzi o to, żeby umieścić to w loopie i już. I to wystarczy.
Mi nie chce się pojawić custom fields, tylko: Array. Jakieś propozycje, o co chodzi?
Który konkretnie przykład? Sprawdziłem tak na szybko przykłady i wydają się ok.