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.
<!-- 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.
Maybe interesting…
-
Smashing Magazine Typo Contest
- P. 2009/07/08
- C. Blogging
-
Leaving Red Bull. Leaving Salzburg. Joining Linz. Joining fredmansky.
- P. 2016/09/14
- C. Blogging
-
Make Better Websites!
- P. 2008/07/21
- C. Blogging
-
Mobile Website. Ein paar Tipps und Erfahrungen.
- P. 2011/07/11
- C. Tutorials
-
iA Writer — Jetzt auch für das iPhone
- P. 2012/03/09
- C. Reviews
-
FUJIFILM X-Pro1 — Fuck, ich will eine!
- P. 2012/01/13
- C. Gadgets