Wordpress Custom Fields, fantastisch!
Wordpress Custom Fields sind wirklich fantastisch! Hat man mit ihnen doch eine ganze andere Möglichkeit Projekte umzusetzen. Es verleiht dem ganzen die nötige Flexibiltät die man sich wünscht. Werte die in den Custom Fields gespeichert werden kann man nahezu überall ohne größere Probleme ausgeben lassen. Wie das ganze funktoniert will ich anhand meines Portfolio Bereichs näher erläutern. Dieser wird komplett mit Custom Fields umgesetzt, das eigentliche Eingabefeld bleibt leer.
Was sind diese Custom Fields überhaupt
Das sind einfache Eingabefelder die man einer Seite oder einem Artikel anhängen kann. Quasi Metainformationen zum Artikel. Das Prinzip ist denkbar einfach. Es gibt einen Schlüssel und diesem wird ein Wert zugewiesen. Ein einfaches Beispiel wäre dann also: Kunde > Kundenname. Der Schlüssel Kunde bekommt den Wert Kundenname. Zu finden ist das ganze unter dem normalen Eingabefeld und heisst entweder "Custom Fields" oder "Benutzerdefinierte Felder".
Bevor man anfängt...
...sollte man sich Gedanken über den Aufbau machen damit man nicht wie ich zehn mal neu anfängt bzw. im Nachhinein dann viel ändern muss. Welche Werte möchte man später ausgeben lassen? Macht es Sinn das ein oder andere zusammenzufassen oder doch lieber für jedes ein einzelnes Custom Field anlegen. Bei mir war das speziell der Fall bei: "Umfang"... Sollte ich jetzt für jede Art der Arbeit ein eigenes Custom Field anlegen oder reicht es wenn ich das unter einem zusammenfasse? Mehr Möglichkeiten bieten sich auf jedenfall wenn man es einzeln macht. Hier muss man wie schon angesprochen einfach schauen was für einen die bessere Lösung ist.
So werden die Custom Fields ausgegeben
Schauen wir uns erst einmal an wie das ganze ausgegeben wird. Ich nehm hier das Beispiel wie ich es in meinem Portfolio verwendet habe. Ich lege mittels Custom Field den Ordner fest worum es sich handel (Web, Print, Apparel) und dann lege iich noch den Bildnamen fest. Mehr nicht, der Rest wird im Loop gemacht.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <!-- Wordpress Loop --> <?php if (have_posts()): ?> <?php while (have_posts()) : the_post(); ?>; <!-- Hier kommt der Inhalt hin --> <!-- Den Inhalt der Felder speichern wir in Variablen --> <?php $ordner = get_post_meta(&post->ID, 'ordner', true); ?> <?php $img01 = get_post_meta(&post->ID, 'img01', true); ?> <!-- $ordner und $img01 sind die Variablennamen in diesen der Inhalt gespeichert wird. das 'ordner' und 'img01' sind die Custom Field Namen die wir später im Beitrag mit Inhalt füllen werden im nächsten Schritt Fragen wir ab ob der Inhalt des NICHT Leer ist und wenn das der Fall ist dann soll er etwas ausgeben -->; <?php if($img01 !== '') { ?> <p class="bild"><img src)"<?php bloginfo('home'); ?>/ wp-content/uploads/portfolio/<?php $ordner; ?>/<?php echo $img01; ?>.jpg" alt="<?php the_title(); ?>" /></p> <?php } ?> <!-- Jetzt wird, falls das Custom Field "img01" ausgefüllt ist, ein Bild angezeigt. Das Custom Field "ordner" sollte natürlich auch richtig ausgefüllt sein damit der Pfad zum Bild später stimmt. Jetzt muss nur noch der Loop geschlossen werden und das ganze ist fertig. Natürlich kann man das ganze noch mit anderen Sachen ergänzen aber da soll hier nicht näher drauf eingegangen werden. -->; <?php endwhile; else: ?> <p>Falls keine Artikel vorhanden...</p> <?php endif; ?> |
So werden Custom Fields hinzugefügt
Custom Fields werden ganz einfach hinzugefügt. Das funktioniert bei Artikeln und auch bei Seiten. Man scrollt einfach wenn man einen Beitrag schreibt nach unten zur Box "Custom Fields" oder wer die deutsche Version hat: "Benutzerdefinierte Felder". Dort schreibt man bei Name einfach den gewünschen Feldname rein. Sollte man schon mal einen Beitrag verfasst haben und Custom Fields genutzt haben kann man hier auch per Drop Down Namen auswählen. Wenn man sich für einen Namen entschieden hat bekommt dieser einen Wert. In unserem Beispiel ist das "img01" als Name und "Bildname" der Wert. Ist alles richtig klickt man auf hinzufügen und das Custom Field wurde gespeichert. Man kann so viele anlegen wie man möchte bzw. so viele wie man benötigt. Man sollte sich vorher gedanken machen was wirklich gebraucht wird.
Ein vorhandenes Custom Field kann natürlich auch bearbeitet werden. Dazu geht ihr einfach in den Beitrag wo etwas bearbeitet werden soll und scrollt wieder zur Box mit den Custom Fields. Dort seht ihr dann die schon gespeicherten und könnt diese einfach ändern und klickt anschließend auf aktualisieren.
Plugins um das ganze etwas einfacher zu machen
Ich nutze das Plugin "More-Fields" was mir die Arbeit deutlich vereinfacht. Es soll hier keine Beschreibung des Plugins werden. Soviel sei aber gesagt. Man kann damit schön Sets erstellen für Custom Fields welche man dann beim schreiben einfach mit ausfüllen kann. Problem gibt es hier nur mit den Wordpress Post Revisions die abgeschaltet werden müssen sonst schreibt er bei jedem Speichern die Custom Fields doppelt. Das ganze macht man einfach indem man eine kleine Zeile in die config.php schreibt:
define('WP_POST_REVISIONS', False);
Sollte es Fragen geben dann fleißig in den Kommentaren posten.
Tags: Custom Fields, plugins, wordpress
Gelesen: 4194 · today: 7 · last: 12. March 2010
28 Kommentare • Eintrag schreiben
3 Trackbacks
- (#1) • Pingback: meineplatten.de | Bugeyes.de (19. Januar 2009)
- (#2) • Pingback: WordPress custom fields : mcube knowledgebase (19. Februar 2010)
- (#3) • Pingback: Wordpress custom fields anleitung : mcube knowledgebase (19. Februar 2010)
#1 tobi
hey, super funktionserklärung!
Hab auch schon ein Projekt in der Schublade wo die custom-fields n super Ding für sind! Bislang habe ich immer gekonnt die custom-fields weggescrollt :-D
tobi
""zitieren"
#2 David Hellmann
Ja ich hab auch immer versucht die Box mit den Custom Fields zu übersehen aber das hat sich nun glücklicherweise geändert!! :)
""zitieren"
#3 tsujiGIRI
jeb, custom-fields sind sehr nützlich. Die Benutzung in Textpattern sieht aber, wenn ich mir das hier so ansehe, viel praktischer aus.
""zitieren"
#4 David Hellmann
Dazu kann ich nicht viel sagen da ich Textpattern noch nicht verwendet habe.
""zitieren"
#5 Markus
danke david :)
bin noch neu bei wordpress. hat mir wirklich geholfen. thx
""zitieren"
#6 ToM
Hi David,
danke für dein rasches Reagieren auf meine “private” Anfrage.
Ich bin noch am Layout planen für meine zukünftige Site.
ToM
""zitieren"
#7 David Hellmann
Ach der Beitrag gammelte schon lang durch backend :) Ich musste nur noch ein paar Sachen dazu schreiben und das hab ich heute endlich mal geschafft, hehe. Wenn er dir hilft – umso besser!
""zitieren"
#8 Patric Comin
Auch von meiner Seite aus ein großes Danke. Bisher habe ich nicht viel damit gemacht, aber spätestens jetzt ist die Zeit reif für ein Theme mit Custom Fields.
""zitieren"
#9 Olaf
Ich sage artig danke schön. wäre doch gelacht, wenn ich das nicht hinbekomme… ;-)
""zitieren"
#10 Robert
Klasse Artikel!
Bin noch ein wenig unerfahren mit Wordpress und hab mich schon gefragt, was es mit diesen “Spezialfeldern” auf sich hat.
""zitieren"
#11 Oekoblogger
Danke David für deinen Beitrag, ich hab mich ewig gefragt was ich mit den costum-felder anfangen soll. Nicht, dass mir jetzt eine Idee gekommen ist aber zumindest weiß ich nun wie sie funktionieren :D Vielleicht habe ich ja demnächst eine Verwendung dafür.
""zitieren"
#12 David Hellmann
Das hab ich mich anfangs auch immer gefragt wenn ich ehrlich bin :) Aber man kann schon tolle Sachen damit machen. Das ganze Portfolio und alles was damit zusammenhängt ist zum Beispiel über Custom Fields gemacht.
""zitieren"
#13 Евгений
Занятно было почитать :) Попробуем-с тоже ответить в ближайших постах.
""zitieren"
#14 Katch
Danke auch von mir :-)
""zitieren"
#15 David Hellmann
gerne doch!
""zitieren"
#16 Camdy
Hallo,
ist es auch möglich diese Spezialfelder als meta-description, bzw. meta-Keywords zu nutzen?
Ich würde mir gerne ein SEO-Plugin sparen. Wenn ja, wie mache ich das dann?
Vielen Dank im Voraus!
""zitieren"
#17 David Hellmann
Du willst in ein Custom Field die Keywords für den Beitrag schreiben? Hm ob es geht weiss ich nicht aber ich denke sollte schon irgendwie möglich sein. Aber versprechen kann ich es nicht :)
""zitieren"
#18 Camdy
Hi David,
ja und habe gesehen, dass bei den Costum Fields ‘Titel’, Description’ und ‘Keywords’ schon vorgegeben sind. Habe sie mal ausgefüllt, nur abspeichern ließ sich das nicht.
Weiß leider auch nicht, kann höchstens ein php-code irgendwo ins Template einfügen, wie ich das ändern kann, bzw. dass er das auch abspeichert.
Möglich wäre ja auch eine vergleichbare Lösung, hauptsache kein SEO-Plugin und da die Spezialfelder schon einmal da sind … :-).
Wenn es klappt, wäre es super toll, wenn nicht, dann muss ich wohl doch noch php lernen *g*.
Danke und viele Grüße
""zitieren"
#19 БaйaчaБeбe
На Ваш сайт знакомый в аську ссылку кинул. Оказалось ,что не зря :) Понравилось. Тепрь постоянно читать буду :)
""zitieren"
#20 Lesezirkel
Danke für diesen Beitrag, sehr hilfreich! Weiter so…
lg
""zitieren"
#21 David Hellmann
Nichts zu danken :)
""zitieren"
#22 Baufinanzierung Berlin
Danke. Genau das, was wir für unseren Blog gesucht haben.
""zitieren"
#23 Markus
Durch die Google-Suche bin auf Ihre Seite gestoßen. Jetzt weiß ich, wie man einfach “Custom Fields” anlegen kann.
""zitieren"
#24 Volltilgungsrechner
Ich könnte ohne Custom Fields gar nicht mehr auskommen, danke für die Einführung.
""zitieren"
#25 surftipps
Super Artikel, aber ich würde noch gerne wissen wie man die Ausgabe in seine php Datei einbindet. Gibt es da eine genauso einfache Lösung wie der Rest der Custum Fields?
""zitieren"
#26 Bausachverständiger Krüger
Vielen Dank für die hilfreiche Erklärung der Wordpress Custom Fields. Werde ich jetzt in meinem neuen Projekt auch verwenden. Glückwunsch auch für die gelungene Seite. Den Rasterhintergrund find ich sehr schick :)
""zitieren"
#27 Kinderbuch Fan
Ich suche gerade nach einem Weg, meine Kinderbuch Rezensionen besser zu strukturieren. Der Beitrag hat mir schon einmal weitergeholfen. Vielen Dank!
""zitieren"
#28 Kreditangebote
wow, vielen dank für den artikel. ich nutze wordpress auf hunderten von seiten, aber habe diese funktion noch nie benutzt :)
""zitieren"